关键代码如下:
1,添加pom引用
1
2
3
4
5
6
7
8
9
|
<dependency>
<groupid>org.mybatis.spring.boot</groupid>
<artifactid>mybatis-spring-boot-starter</artifactid>
<version> 1.1 . 1 </version>
</dependency>
<dependency>
<groupid>mysql</groupid>
<artifactid>mysql-connector-java</artifactid>
</dependency>
|
2 application.properties
1
2
3
4
5
6
7
8
|
mybatis.config-locations=classpath:mybatis/mybatis-config.xml
mybatis.mapper-locations=classpath:mybatis/mapper/*.xml
mybatis.type-aliases- package =com.kerry.model
spring.datasource.driverclassname = com.mysql.jdbc.driver
spring.datasource.url = jdbc:mysql: //localhost:3306/test?useunicode=true&characterencoding=utf-8
spring.datasource.username = root
spring.datasource.password = 123456
|
3 在resource目录下创建mybatis目录并创建mybatis-config.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
|
<?xml version= "1.0" encoding= "utf-8" ?>
<!doctype configuration public "-//mybatis.org//dtd config 3.0//en" "http://mybatis.org/dtd/mybatis-3-config.dtd" >
<configuration>
<settings>
<setting name= "callsettersonnulls" value= "true" />
<setting name= "cacheenabled" value= "true" />
<setting name= "lazyloadingenabled" value= "true" />
<setting name= "aggressivelazyloading" value= "true" />
<setting name= "multipleresultsetsenabled" value= "true" />
<setting name= "usecolumnlabel" value= "true" />
<setting name= "usegeneratedkeys" value= "false" />
<setting name= "automappingbehavior" value= "partial" />
<setting name= "defaultexecutortype" value= "simple" />
<setting name= "mapunderscoretocamelcase" value= "true" />
<setting name= "localcachescope" value= "session" />
<setting name= "jdbctypefornull" value= "null" />
</settings>
<typealiases>
<typealias alias= "integer" type= "java.lang.integer" />
<typealias alias= "long" type= "java.lang.long" />
<typealias alias= "hashmap" type= "java.util.hashmap" />
<typealias alias= "linkedhashmap" type= "java.util.linkedhashmap" />
<typealias alias= "arraylist" type= "java.util.arraylist" />
<typealias alias= "linkedlist" type= "java.util.linkedlist" />
</typealiases>
</configuration>
|
mybatis目录下创建mapper目录存放mapper类接口文件
1
2
3
4
5
6
7
8
9
10
|
package com.kerry.mapper;
import java.util.list;
import com.kerry.model.user;
public interface usermapper {
list<user> getall();
user getone(integer id);
void insert(user user);
void update(user user);
void delete(integer id);
}
|
model类文件
1
2
3
4
5
6
7
8
9
10
|
package com.kerry.mapper;
import java.util.list;
import com.kerry.model.user;
public interface usermapper {
list<user> getall();
user getone(integer id);
void insert(user user);
void update(user user);
void delete(integer id);
}
|
usermapper.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
|
<?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= "com.kerry.mapper.usermapper" >
<resultmap id= "baseresultmap" type= "com.kerry.model.user" >
<id column= "id" property= "id" jdbctype= "integer" />
<result column= "name" property= "name" jdbctype= "varchar" />
<result column= "age" property= "age" jdbctype= "varchar" />
<result column= "address" property= "address" jdbctype= "varchar" />
</resultmap>
<sql id= "base_column_list" >
id, name, age, address
</sql>
<select id= "getall" resultmap= "baseresultmap" >
select
<include refid= "base_column_list" />
from user
</select>
<select id= "getone" parametertype= "java.lang.integer" resultmap= "baseresultmap" >
select
<include refid= "base_column_list" />
from user
where id = #{id}
</select>
<insert id= "insert" parametertype= "com.kerry.model.user" >
insert into
user
(id,name,age,address)
values
(#{id},#{name}, #{age}, #{address})
</insert>
<update id= "update" parametertype= "com.kerry.model.user" >
update
user
set
< if test= "name != null" >name = #{name},</ if >
< if test= "age != null" >age = #{age},</ if >
address = #{address}
where
id = #{id}
</update>
<delete id= "delete" parametertype= "java.lang.integer" >
delete from
user
where
id =#{id}
</delete>
</mapper>
|
controller:
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
|
package com.kerry.web;
import java.util.list;
import org.springframework.beans.factory.annotation.autowired;
import org.springframework.web.bind.annotation.pathvariable;
import org.springframework.web.bind.annotation.requestmapping;
import org.springframework.web.bind.annotation.restcontroller;
import com.kerry.model.user;
import com.kerry.mapper.usermapper;
@restcontroller
public class usercontroller {
@autowired
private usermapper usermapper;
@requestmapping ( "/getusers" )
public list<user> getusers() {
list<user> users=usermapper.getall();
return users;
}
@requestmapping ( "/getuser" )
public user getuser(integer id) {
user user=usermapper.getone(id);
return user;
}
@requestmapping ( "/add" )
public void save(user user) {
usermapper.insert(user);
}
@requestmapping (value= "update" )
public void update(user user) {
usermapper.update(user);
}
@requestmapping (value= "/delete/{id}" )
public void delete( @pathvariable ( "id" ) integer id) {
usermapper.delete(id);
}
}
|
最后在启动类上加上 扫描maper interface注解
1
2
3
4
5
6
7
8
|
@springbootapplication
@mapperscan ( "com.kerry.mapper" )
public class application {
public static void main(string[] args) {
springapplication.run(application. class , args);
}
}
|
或者在每个xxmapper类上加上@mapper注解也行 二选一即可
比如
1
2
3
4
5
6
7
8
9
10
11
12
|
package com.kerry.mapper;
import java.util.list;
import org.apache.ibatis.annotations.mapper;
import com.kerry.model.user;
@mapper
public interface usermapper {
list<user> getall();
user getone(integer id);
void insert(user user);
void update(user user);
void delete(integer id);
}
|
个人建议使用直接在启动类上application上@mapperscan方便,一次搞定,不必每写一个mapper类都加上@mapper注解
附上项目结构目录 选中的类以及文件
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/lr131425/article/details/76269236