Ver Fonte

update mybatis mapper

admin há 1 ano atrás
pai
commit
ea8f2add8d

+ 19 - 1
myBatisSpringBoot/pom.xml

@@ -44,7 +44,7 @@
         <dependency>
             <groupId>org.mybatis.spring.boot</groupId>
             <artifactId>mybatis-spring-boot-starter</artifactId>
-            <version>1.3.1</version>
+            <version>2.2.0</version>
         </dependency>
 
         <dependency>
@@ -71,5 +71,23 @@
                 </configuration>
             </plugin>
         </plugins>
+        <resources>
+            <resource>
+                <directory>src/main/resources</directory>
+                <includes>
+                    <include>**/*.properties</include>
+                    <include>**/*.yml</include>
+                </includes>
+                <filtering>true</filtering>
+            </resource>
+            <resource>
+                <directory>src/main/java</directory>
+                <includes>
+                    <include>**/*.properties</include>
+                    <include>**/*.xml</include>
+                </includes>
+                <filtering>true</filtering>
+            </resource>
+        </resources>
     </build>
 </project>

+ 2 - 0
myBatisSpringBoot/src/main/java/org/example/Main.java

@@ -1,9 +1,11 @@
 package org.example;
 
+import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 
 @SpringBootApplication
+@MapperScan(value = "org.example.mapper")
 public class Main {
     public static void main(String[] args){
         SpringApplication.run(Main.class, args);

+ 25 - 1
myBatisSpringBoot/src/main/java/org/example/StudentController.java

@@ -5,14 +5,38 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
+
 @RestController
 public class StudentController {
 
     @Autowired
     private StudentService studentService;
 
+    @RequestMapping( value = "/add", method = RequestMethod.POST)
+    public int add(Student student) {
+        return studentService.add(student);
+    }
+
+    @RequestMapping( value = "/update", method = RequestMethod.POST)
+    public int update(Student student) {
+        return studentService.update(student);
+    }
+
+
     @RequestMapping( value = "/querystudent", method = RequestMethod.GET)
     public Student queryStudentBySno(String sno) {
-        return this.studentService.queryStudentBySno(sno);
+        return studentService.queryStudentBySno(sno);
     }
+
+    @RequestMapping(value = "/queryStudents", method = RequestMethod.GET)
+    public List<Student> queryStudents() {
+        return studentService.queryStudents();
+    }
+
+    @RequestMapping( value = "/delete", method = RequestMethod.DELETE)
+    public int deleteBysno(String sno) {
+        return studentService.deleteBysno(sno);
+    }
+
 }

+ 0 - 25
myBatisSpringBoot/src/main/java/org/example/StudentMapper.java

@@ -1,25 +0,0 @@
-package org.example;
-
-import org.apache.ibatis.annotations.*;
-import org.springframework.stereotype.Component;
-
-@Component
-@Mapper
-public interface StudentMapper {
-    @Insert("insert into student(sno,sname,ssex) values(#{sno},#{name},#{sex})")
-    int add(Student student);
-
-    @Update("update student set sname=#{name},ssex=#{sex} where sno=#{sno}")
-    int update(Student student);
-
-    @Delete("delete from student where sno=#{sno}")
-    int deleteBysno(String sno);
-
-    @Select("select * from student where sno=#{sno}")
-    @Results(id = "student",value= {
-            @Result(property = "sno", column = "sno", javaType = String.class),
-            @Result(property = "name", column = "sname", javaType = String.class),
-            @Result(property = "sex", column = "ssex", javaType = String.class)
-    })
-    Student queryStudentBySno(String sno);
-}

+ 4 - 0
myBatisSpringBoot/src/main/java/org/example/StudentService.java

@@ -1,8 +1,12 @@
 package org.example;
 
+import java.util.List;
+
 public interface StudentService {
     int add(Student student);
     int update(Student student);
     int deleteBysno(String sno);
     Student queryStudentBySno(String sno);
+
+    List<Student> queryStudents();
 }

+ 16 - 4
myBatisSpringBoot/src/main/java/org/example/StudentServiceImpl.java

@@ -1,8 +1,11 @@
 package org.example;
 
+import org.example.mapper.StudentMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 @Service("studentService")
 public class StudentServiceImpl implements StudentService{
     @Autowired
@@ -10,21 +13,30 @@ public class StudentServiceImpl implements StudentService{
 
     @Override
     public int add(Student student) {
-        return this.studentMapper.add(student);
+        return studentMapper.add(student);
     }
 
     @Override
     public int update(Student student) {
-        return this.studentMapper.update(student);
+        return studentMapper.update(student);
     }
 
     @Override
     public int deleteBysno(String sno) {
-        return this.studentMapper.deleteBysno(sno);
+        return studentMapper.deleteBysno(sno);
     }
 
     @Override
     public Student queryStudentBySno(String sno) {
-        return this.studentMapper.queryStudentBySno(sno);
+        return studentMapper.queryStudentBySno(sno);
+    }
+
+    @Override
+    public List<Student> queryStudents() {
+        List<Student> students = studentMapper.queryStudents();
+        for (Student student : students) {
+            System.out.println(student.getName() + student.getSex() + student.getSno());
+        }
+        return students;
     }
 }

+ 45 - 0
myBatisSpringBoot/src/main/java/org/example/mapper/StudentMapper.java

@@ -0,0 +1,45 @@
+package org.example.mapper;
+
+import org.apache.ibatis.annotations.*;
+import org.example.Student;
+import org.springframework.stereotype.Component;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Map;
+
+//@Component
+//@Mapper
+//public interface StudentMapper {
+//    @Insert("insert into student(sno,sname,ssex) values(#{sno},#{name},#{sex})")
+//    int add(Student student);
+//
+//    @Update("update student set sname=#{name},ssex=#{sex} where sno=#{sno}")
+//    int update(Student student);
+//
+//    @Delete("delete from student where sno=#{sno}")
+//    int deleteBysno(String sno);
+//
+//    @Select("select * from student where sno=#{sno}")
+//    @Results(id = "student",value= {
+//            @Result(property = "sno", column = "sno", javaType = String.class),
+//            @Result(property = "name", column = "sname", javaType = String.class),
+//            @Result(property = "sex", column = "ssex", javaType = String.class)
+//    })
+//    Student queryStudentBySno(String sno);
+//}
+
+@Mapper
+@Repository
+public interface StudentMapper {
+
+    int add(Student student);
+
+    int update(Student student);
+
+    int deleteBysno(String sno);
+
+    Student queryStudentBySno(String sno);
+
+    List<Student> queryStudents();
+}

+ 28 - 0
myBatisSpringBoot/src/main/java/org/example/mapper/StudentMapper.xml

@@ -0,0 +1,28 @@
+<?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="org.example.mapper.StudentMapper">
+    <resultMap id="BaseResultMap" type="org.example.Student">
+
+        <id column="sno" property="sno"/>
+
+        <!-- column是数据库表的列名 , property是对应实体类的属性名 -->
+        <result column="sname" property="name"/>
+        <result column="ssex" property="sex"/>
+    </resultMap>
+    <insert id="add">
+        insert into student (sno,sname,ssex) values (#{sno},#{name},#{sex})
+    </insert>
+    <update id="update">
+        update student set sname=#{name},ssex=#{sex} where sno=#{sno}
+    </update>
+    <delete id="deleteBysno" >
+        delete from student where sno=#{sno}
+    </delete>
+    <select id="queryStudentBySno" resultMap="BaseResultMap" resultType="org.example.Student">
+        select * from student where sno=#{sno}
+    </select>
+    <select id="queryStudents" resultMap="BaseResultMap" resultType="org.example.Student">
+        select * from student
+    </select>
+</mapper>

+ 3 - 1
myBatisSpringBoot/src/main/resources/application.yml

@@ -57,4 +57,6 @@ spring:
       # 配置StatFilter
       filter:
         stat:
-          log-slow-sql: true
+          log-slow-sql: true
+  mybatis:
+    mapper-locations: classpath:/mapper/*.xml