springboot学习九--整合mybatis(xml方式)、(注解方式)

一,整合mybatis(xml方式)
1,pom

<!-- mybatis依赖 -->
<dependency>
	<groupId>org.mybatis.spring.boot</groupId>
	<artifactId>mybatis-spring-boot-starter</artifactId>
	<version>1.3.1</version>
</dependency>
<!-- alibaba的druid连接池 -->
<dependency>
	<groupId>com.alibaba</groupId>
	<artifactId>druid-spring-boot-starter</artifactId>
	<version>1.1.0</version>
</dependency>
<!-- 分页插件 -->
<dependency>
	<groupId>com.github.pagehelper</groupId>
	<artifactId>pagehelper-spring-boot-starter</artifactId>
	<version>1.1.2</version>
</dependency>

2,application.yml

spring:
  datasource:
    username: root
    password: 123456
    url: jdbc:mysql://localhost:3306/test
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.jdbc.Driver
    filters: stat
    initialSize: 1
    maxActive: 20
    maxWait: 60000
    minIdle: 1
    timeBetweenEvictionRunsMillis: 60000
    minEvictableIdleTimeMillis: 30000
    validationQuery: select 'x'
    testWhileIdle: true
    testOnBorrow: false
    testOnReturn: false
    poolPreparedStatements: true
    maxPoolPreparedStatementPerConnectionSize: 20
    
mybatis:
  mapper-locations: [com.*.dao]
  config-location: classpath:mybatis/SqlMappingConfig.xml
  
pagehelper:
  helper-dialect: mysql
  reasonable: true
  support-methods-arguments: true
  params: count=countSql

3,SqlMappingConfig.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>
    
</configuration>

4,文件
在这里插入图片描述

<?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.mybatis.dao.EmpDao">
	<select id="queryEmp" resultType="com.mybatis.pojo.Emp">
		select * from emp
	</select>
	
	<insert id="add" parameterType="com.mybatis.pojo.Emp">
		insert into emp(ename,job,hiredate)values(
			#{ename},
			#{job},
			#{hiredate}
		)
	</insert>
</mapper>

EmpService

@Service
public class EmpServiceImpl implements EmpService {
	@Autowired
	private EmpDao empDao;

	@Override
	public void add(Emp emp) {
		empDao.add(emp);
	}

	@Override
	public List<Emp> queryEmp(int page,int pageSize) {
		PageHelper.startPage(page, pageSize);
		List<Emp> list = empDao.queryEmp();
		return list;
	}

}

EmpController

@Controller
@RequestMapping("emp")
public class EmpController {
	@Autowired
	private EmpService empService;
	@RequestMapping("add.do")
	@ResponseBody
	public String addEmpt() {
		for(int i=0;i<10;i++) {
			Emp emp = new Emp(i, "浪淘尽"+i, "浪"+i, i+100, new Date());
			empService.add(emp);
		}
		return "成功";
	}
	@RequestMapping("query/{page}/{pageSize}.do")
	@ResponseBody
	public List<Emp> query(@PathVariable int page,@PathVariable int pageSize) {
		return empService.queryEmp(page, pageSize);
	}
}

访问测试地址
在这里插入图片描述
2,注解方式
EmpDao

@Insert("insert into emp(ename,job)values(#{ename},#{job})")
public void insert(@Param("ename") String ename,@Param("job") String job);
@Select("select * from emp where empno = #{empno}")
public Emp queryEmpById(@Param("empno") Integer empno);

controller

@RequestMapping("insert.do")
@ResponseBody
public String insert() {
	empService.insert("大江东去", "浪淘尽");
	return "成功";
}

@RequestMapping("query/{id}.do")
@ResponseBody
public Emp queryEmpById(@PathVariable int id) {
	return empService.queryEmpById(id);
}

访问测试地址
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/yzx15855401351/article/details/100006683