第一种:XML(现多用此方式)
- mybatis-conf.xml
<?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>
<typeAliases>
<package name="ink.cecece.mybatis.entity"/><!--实体别名,以包的形式配,这样方便-->
</typeAliases>
<mappers>
<package name="ink.cecece.mybatis.dao"/><!--配置mapper.xml与dao接口的映射-->
</mappers>
</configuration>
- application.properties
#配置数据源
spring.datasource.url=jdbc:mysql://localhost:3306/db_test
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
#配置mybatis
mybatis.mapper-locations=classpath:/mapper/*.xml
mybatis.config-location=classpath:/mybatis-conf.xml
- 启动类
package ink.cecece.mybatis;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class MybatisApplication {
public static void main(String[] args) {
SpringApplication.run(MybatisApplication.class, args);
}
}
- 模型层
package ink.cecece.mybatis.entity;
public class User {
private Integer id;
private String usr;
private String pwd;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUsr() {
return usr;
}
public void setUsr(String usr) {
this.usr = usr;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
}
- 持久层
package ink.cecece.mybatis.dao;
import ink.cecece.mybatis.entity.User;
import org.apache.ibatis.annotations.Param;
public interface UserDao {
User findById(@Param("id")Integer id);
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"
"http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">
<!-- mapper 为根元素节点, 一个namespace对应一个dao -->
<mapper namespace="ink.cecece.mybatis.dao.UserDao">
<resultMap id="UserMap" type="User">
<result column="id" property="id"></result>
<result column="usr" property="usr"></result>
<result column="pwd" property="pwd"></result>
</resultMap>
<select id="findById" parameterType="int" resultMap="UserMap">
select * from user where id=#{id}
</select>
</mapper>
- 服务层(小demo而已,略了)
- 控制器层
package ink.cecece.mybatis.controller;
import ink.cecece.mybatis.dao.UserDao;
import ink.cecece.mybatis.entity.User;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
@RestController
public class TestController {
@Resource
private UserDao userDao;
@GetMapping("/")
public User getUsr(){
return userDao.findById(1);
}
}
第二种:注解(个人喜欢注解方式,看起来比较顺眼)
- application.properties
spring.datasource.url=jdbc:mysql://localhost:3306/db_test
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
- 模型层
package ink.cecece.mybatis.entity;
public class User {
private Integer id;
private String usr;
private String pwd;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUsr() {
return usr;
}
public void setUsr(String usr) {
this.usr = usr;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
}
- @MapperScan
package ink.cecece.mybatis;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@MapperScan("ink.cecece.mybatis.dao")
public class MybatisApplication {
public static void main(String[] args) {
SpringApplication.run(MybatisApplication.class, args);
}
}
- @Mapper、@Select
package ink.cecece.mybatis.dao;
import ink.cecece.mybatis.entity.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
@Mapper
public interface UserDao {
@Select("select * from user id=#{id}")
User findById(@Param("id")Integer id);
}
- @Resource
package ink.cecece.mybatis.controller;
import ink.cecece.mybatis.dao.UserDao;
import ink.cecece.mybatis.entity.User;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
@RestController
public class TestController {
@Resource
private UserDao userDao;
@GetMapping("/")
public User getUsr(){
return userDao.findById(1);
}
}