创建springboot项目
导包 (创建的时候选了mybatis 和mysql Driver 就不用导了)
//mybatis核心包
< dependency>
< groupId> org.mybatis.spring.boot< /groupId>
< artifactId> mybatis-spring-boot-starter< /artifactId>
< version> 2.2 .2 < /version>
< /dependency>
//连接包
< dependency>
< groupId> mysql< /groupId>
< artifactId> mysql-connector-java< /artifactId>
< scope> runtime< /scope>
< /dependency>
创建映射文件
< ?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.example.hello03.mapper.usermapper" >
< resultMap id = "userMap" type = "com.example.hello03.entity.user" >
< id column = "id" property = "id" />
< result column = "name" property = "name" />
< result column = "phone" property = "phone" />
< result column = "version" property = "version" />
< result column = "deleted" property = "deleted" />
< result column = "createtime" property = "createtime" />
< result column = "updatetime" property = "updatetime" />
< ! -- 嵌套属性-->
< /resultMap>
< insert id = "add" parameterType = "com.example.hello03.entity.user" >
insert into test01
( id,name,phone,version,deleted,createtime,updatetime)
values
(
< /insert>
< /mapper>
设置springboot properties 文件
spring.datasource.driver-class-name= com.mysql.cj.jdbc.Driver
spring.datasource.url= jdbc:mysql://localhost:3306/hello?useUnicode= true& characterEncoding = utf-8& allowMultiQueries = true
spring.datasource.username= root
spring.datasource.password= root
spring.datasource.max-idle= 10
spring.datasource.max-wait= 10000
spring.datasource.min-idle= 5
spring.datasource.initial-size= 5
mybatis.mapper-locations= classpath:com/example/hello03/mapper/xml/*.xml
数据库对应的java been
package com. example. hello03. entity ;
import lombok. Data ;
import org. springframework. format. annotation. DateTimeFormat ;
import java. util. Date ;
@Data
public class user {
private Integer id;
private String name;
private String phone;
private Integer version;
private Integer deleted;
@DateTimeFormat ( pattern= "yyyy-MM-dd" )
private Date createtime;
@DateTimeFormat ( pattern= "yyyy-MM-dd" )
private Date updatetime;
}
视图层
package com. example. hello03. vo ;
import lombok. Data ;
import org. springframework. format. annotation. DateTimeFormat ;
import java. util. Date ;
@Data
public class uservo {
private String name;
private String phone;
}
service 实现类
package com. example. hello03. service. impl ;
import com. example. hello03. entity. user ;
import com. example. hello03. mapper. usermapper ;
import com. example. hello03. service. userservice ;
import com. example. hello03. vo. uservo ;
import org. springframework. stereotype. Service ;
import javax. annotation. Resource ;
import java. util. Date ;
@Service
public class userimpl implements userservice {
@Resource
usermapper usermapper;
@Override
public void add ( uservo u) {
user aa= new user ( ) ;
aa. setName ( u. getName ( ) ) ;
aa. setPhone ( u. getPhone ( ) ) ;
aa. setCreatetime ( new Date ( ) ) ;
aa. setUpdatetime ( new Date ( ) ) ;
aa. setVersion ( 0 ) ;
aa. setDeleted ( 0 ) ;
usermapper. add ( aa) ;
}
}
控制层
package com. example. hello03. controller ;
import com. example. hello03. entity. user ;
import com. example. hello03. service. userservice ;
import com. example. hello03. vo. uservo ;
import org. springframework. beans. factory. annotation. Autowired ;
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 ;
@Controller
public class n1control {
@Autowired
userservice userservice;
@ResponseBody
@PostMapping ( "/add" )
public String hellox ( uservo u) {
userservice. add ( u) ;
return "添加成功" ;
}
}
如果xml 加载不了 则配置pom
< resources>
< resource>
< directory> ${basedir} /src/main/webapp< /directory>
< ! -- 注意此次必须要放在此目录下才能被访问到 -->
< targetPath> META-INF/resources< /targetPath>
< includes>
< include> **/**< /include>
< /includes>
< /resource>
< resource>
< directory> ${basedir} /src/main/resources< /directory>
< includes>
< include> **/*.yml< /include>
< include> **/*.properties< /include>
< include> **/*.xml< /include>
< include> **/*.pem< /include>
< /includes>
< /resource>
< resource>
< directory> src/main/java< /directory>
< includes>
< include> **/*.xml< /include>
< include> **/**/*.xml< /include>
< /includes>
< /resource>
< /resources>
项目结构图
sql语句 模板
<?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.example.hello03.mapper.usermapper" >
< resultMap id = " userMap" type = " com.example.hello03.entity.user" >
< id column = " id" property = " id" />
< result column = " name" property = " name" />
< result column = " phone" property = " phone" />
< result column = " version" property = " version" />
< result column = " deleted" property = " deleted" />
< result column = " createtime" property = " createtime" />
< result column = " updatetime" property = " updatetime" />
</ resultMap>
< insert id = " add" parameterType = " com.example.hello03.entity.user" >
insert into test01
(id,name,phone,version,deleted,createtime,updatetime)
values
(#{id},#{name},#{phone},#{version},#{deleted},#{createtime},#{updatetime})
</ insert>
< delete id = " delete" parameterType = " Integer" >
delete from test01 where id = #{id}
</ delete>
< update id = " update" parameterType = " com.example.hello03.entity.user" >
update test01
set name =#{name},
phone =#{phone}
where id = #{id}
</ update>
</ mapper>
控制层demo
@Controller
public class n1control {
@Autowired
userservice userservice;
@Autowired
usermapper usermapper;
@ResponseBody
@PostMapping ( "/add" )
public String hellox ( uservo u) {
userservice. add ( u) ;
return "添加成功" ;
}
@ResponseBody
@GetMapping ( "/delete" )
public String delete ( int id) {
usermapper. delete ( id) ;
System . out. println ( "zzzzzzzzzzzzz" ) ;
return "刪除成功" ;
}
@ResponseBody
@GetMapping ( "/update" )
public String update ( user u) {
usermapper. update ( u) ;
System . out. println ( "zzzzzzzzzzzzz" ) ;
return "修改成功" ;
}
}
map接口
void add ( user u) ;
void delete ( int id) ;
void update ( user u) ;