好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

详解springboot中mybatis注解形式

springboot 整合 mybatis 对数据库进行访问,本实例采用 注解 的方式,如下:

pom.xml文件

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

<parent>

     <groupid>org.springframework.boot</groupid>

     <artifactid>spring-boot-starter-parent</artifactid>

     <version> 2.0 . 5 .release</version>

   </parent>

   <properties>

     <project.build.sourceencoding>utf- 8 </project.build.sourceencoding>

     <maven测试数据piler.source> 1.8 </maven测试数据piler.source>

     <maven测试数据piler.target> 1.8 </maven测试数据piler.target>

   </properties>

 

   <dependencies>

     <dependency>

       <groupid>org.springframework.boot</groupid>

       <artifactid>spring-boot-starter-web</artifactid>

     </dependency>

     <dependency>

       <groupid>org.springframework.boot</groupid>

       <artifactid>spring-boot-starter-test</artifactid>

       <scope>test</scope>

     </dependency>

 

     <dependency>

       <groupid>org.springframework.boot</groupid>

       <artifactid>spring-boot-starter-web</artifactid>

     </dependency>

     <dependency>

       <groupid>mysql</groupid>

       <artifactid>mysql-connector-java</artifactid>

       <version> 5.1 . 45 </version>

     </dependency>

     <dependency>

       <groupid>org.springframework.boot</groupid>

       <artifactid>spring-boot-starter-jdbc</artifactid>

     </dependency>

     <dependency>

       <groupid>org.springframework.boot</groupid>

       <artifactid>spring-boot-configuration-processor</artifactid>

       <optional> true </optional>

     </dependency>

     <dependency>

       <groupid>org.mybatis.spring.boot</groupid>

       <artifactid>mybatis-spring-boot-starter</artifactid>

       <version> 1.3 . 1 </version>

     </dependency>

   </dependencies>

 

   <build>

     <plugins>

       <plugin>

         <groupid>org.springframework.boot</groupid>

         <artifactid>spring-boot-maven-plugin</artifactid>

       </plugin>

     </plugins>

   </build>

</project>

domain类

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

package com.rookie.bigdata.domain;

 

/**

  * @author

  * @date 2018/10/9

  */

public class student {

   private long stuno;

   private string name;

   private integer age;

   public student() {

   }

   public student(string name, integer age) {

     this .name = name;

     this .age = age;

   }

   public student( long stuno, string name, integer age) {

     this .stuno = stuno;

     this .name = name;

     this .age = age;

   }

   public long getstuno() {

     return stuno;

   }

   public void setstuno( long stuno) {

     this .stuno = stuno;

   }

   public string getname() {

     return name;

   }

   public void setname(string name) {

     this .name = name;

   }

   public integer getage() {

     return age;

   }

   public void setage(integer age) {

     this .age = age;

   }

   @override

   public boolean equals(object o) {

     if ( this == o) return true ;

     if (o == null || getclass() != o.getclass()) return false ;

     student student = (student) o;

     if (stuno != null ? !stuno.equals(student.stuno) : student.stuno != null ) return false ;

     if (name != null ? !name.equals(student.name) : student.name != null ) return false ;

     return age != null ? age.equals(student.age) : student.age == null ;

   }

   @override

   public int hashcode() {

     int result = stuno != null ? stuno.hashcode() : 0 ;

     result = 31 * result + (name != null ? name.hashcode() : 0 );

     result = 31 * result + (age != null ? age.hashcode() : 0 );

     return result;

   }

   @override

   public string tostring() {

     return "student{" +

         "stuno=" + stuno +

         ", name='" + name + '\ '' +

         ", age=" + age +

         '}' ;

   }

}

studentmapper类

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

package com.rookie.bigdata.mapper;

import com.rookie.bigdata.domain.student;

import org.apache.ibatis.annotations.*;

import java.util.list;

import java.util.map;

/**

  * @author

  * @date 2018/10/9

  */

@mapper

public interface studentmapper {

 

   @select ( "select * from student where name = #{name}" )

   student findbyname( @param ( "name" ) string name);

 

   @results ({

       @result (property = "name" , column = "name" ),

       @result (property = "age" , column = "age" )

   })

   @select ( "select name, age from student" )

   list<student> findall();

 

   @insert ( "insert into student(name, age) values(#{name}, #{age})" )

   int insert( @param ( "name" ) string name, @param ( "age" ) integer age);

 

   @update ( "update student set age=#{age} where name=#{name}" )

   void update(student student);

 

   @delete ( "delete from student where id =#{id}" )

   void delete( long id);

 

   @insert ( "insert into student(name, age) values(#{name}, #{age})" )

   int insertbyuser(student student);

 

   @insert ( "insert into student(name, age) values(#{name,jdbctype=varchar}, #{age,jdbctype=integer})" )

   int insertbymap(map<string, object> map);

 

}

测试类如下:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

package com.rookie.bigdata.mapper;

import org.junit.test;

import org.junit.runner.runwith;

import org.springframework.beans.factory.annotation.autowired;

import org.springframework.boot.test.context.springboottest;

import org.springframework.test.context.junit4.springrunner;

import org.springframework.transaction.annotation.transactional;

import static org.junit. assert .*;

/**

  * @author

  * @date 2018/10/10

  */

@runwith (springrunner. class )

@springboottest

public class studentmappertest {

 

   @autowired

   private studentmapper studentmapper;

 

   @test

   public void findbyname() throws exception {

     system.out.println(studentmapper.findbyname( "zhangsan" ));

   }

 

   @test

   public void findall() throws exception {

     system.out.println(studentmapper.findbyname( "zhangsan" ));

   }

 

   @test

   public void insert() throws exception {

     system.out.println(  studentmapper.insert( "zhangsan" , 20 ));

   }

 

   @test

   public void update() throws exception {

   }

 

   @test

   public void delete() throws exception {

   }

 

   @test

   public void insertbyuser() throws exception {

   }

 

   @test

   public void insertbymap() throws exception {

   }

}

大家可以自己编写测试类进行测试一下,后续会更新xml的配置方式和mybatis采用多数据源进行配置的方式

查看更多关于详解springboot中mybatis注解形式的详细内容...

  阅读:9次