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.compiler.source> 1.8 </maven.compiler.source> <maven.compiler.target> 1.8 </maven.compiler.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采用多数据源进行配置的方式