Quellcode durchsuchen

# feat:配置mybatis;
- 配置mapper.java的位置
- 配置mapper.xml的位置

yang yi vor 1 Woche
Ursprung
Commit
1f72e5dd97

+ 10 - 2
src/main/java/space/anyi/config/SpringConfig.java

@@ -5,12 +5,14 @@ import org.mybatis.spring.SqlSessionFactoryBean;
 import org.mybatis.spring.mapper.MapperScannerConfigurer;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.*;
+import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
 import org.springframework.jdbc.datasource.DataSourceTransactionManager;
 import org.springframework.stereotype.Controller;
 import org.springframework.transaction.PlatformTransactionManager;
 import org.springframework.transaction.annotation.EnableTransactionManagement;
 
 import javax.sql.DataSource;
+import java.io.IOException;
 
 /**
  * @fileName: SpringConfig
@@ -41,13 +43,19 @@ public class SpringConfig {
 
     // 配置SqlSessionFactory
     @Bean
-    public SqlSessionFactoryBean sqlSessionFactory(DataSource dataSource) {
+    public SqlSessionFactoryBean sqlSessionFactory(DataSource dataSource) throws IOException {
         SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
         factoryBean.setDataSource(dataSource);
+        // 配置别名
         factoryBean.setTypeAliasesPackage("space.anyi.entity");
+        // 配置Mapper.xml文件路径
+        factoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapper/*.xml"));
         // 配置MyBatis设置
         org.apache.ibatis.session.Configuration configuration = new org.apache.ibatis.session.Configuration();
-        configuration.setMapUnderscoreToCamelCase(true);  // 驼峰命名
+        // 驼峰命名
+        configuration.setMapUnderscoreToCamelCase(true);
+        // 配置mapper.java配置
+        configuration.addMappers("space.anyi.mapper");
         factoryBean.setConfiguration(configuration);
         return factoryBean;
     }

+ 44 - 0
src/main/java/space/anyi/controller/UserController.java

@@ -0,0 +1,44 @@
+package space.anyi.controller;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+import space.anyi.entity.User;
+import space.anyi.mapper.UserMapper;
+
+import java.util.List;
+
+/**
+ * @fileName: UserController
+ * @projectName: SSM_template
+ * @package: space.anyi.controller
+ * @author: 杨逸
+ * @date:2026/4/24 14:35
+ * @description:
+ */
+@Controller
+@RequestMapping("/user")
+public class UserController {
+    private final UserMapper userMapper;
+
+    public UserController(UserMapper userMapper) {
+        this.userMapper = userMapper;
+    }
+
+    @ResponseBody
+    @PostMapping()
+    public String add(String name){
+        User user = new User();
+        user.setUsername(name);
+        userMapper.insert(user);
+        return user.toString();
+    }
+
+    @ResponseBody
+    @GetMapping
+    public List<User> list(){
+        return userMapper.selectAll();
+    }
+}

+ 27 - 1
src/main/java/space/anyi/entity/User.java

@@ -6,7 +6,33 @@ package space.anyi.entity;
  * @package: space.anyi.entity
  * @author: 杨逸
  * @date:2026/4/24 11:17
- * @description: TODO
+ * @description:
  */
 public class User {
+    private Integer id;
+    private String username;
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public String getUsername() {
+        return username;
+    }
+
+    public void setUsername(String username) {
+        this.username = username;
+    }
+
+    @Override
+    public String toString() {
+        return "User{" +
+                "id=" + id +
+                ", name='" + username + '\'' +
+                '}';
+    }
 }

+ 7 - 0
src/main/java/space/anyi/mapper/UserMapper.java

@@ -1,5 +1,10 @@
 package space.anyi.mapper;
 
+import org.apache.ibatis.annotations.Mapper;
+import space.anyi.entity.User;
+
+import java.util.List;
+
 /**
  * @fileName: UserMapper
  * @projectName: SSM_template
@@ -9,4 +14,6 @@ package space.anyi.mapper;
  * @description:
  */
 public interface UserMapper {
+    void insert(User user);
+    List<User> selectAll();
 }

+ 10 - 2
src/main/resources/mapper/UserMapper.xml

@@ -1,6 +1,14 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org/DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="space.anyi.entity.User">
-    <sql id="base_filed">$END$</sql>
+<mapper namespace="space.anyi.mapper.UserMapper">
+    <sql id="base_filed">id,username</sql>
+
+    <insert id="insert" parameterType="space.anyi.entity.User">
+        insert into user(username) values(#{username})
+    </insert>
+
+    <select id="selectAll" resultType="space.anyi.entity.User">
+        select <include refid="base_filed"></include> from user
+    </select>
 
 </mapper>