spring.datasource.type=com.zaxxer.hikari.HikariDataSource
<dependency> <groupId>com.zaxxer</groupId> <artifactId>HikariCP</artifactId> <!-- 版本号可以不用指定,Spring Boot会选用合适的版本 --> </dependency>
<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <!-- 请不要使用1.0.0版本,因为还不支持拦截器插件,1.0.1-SNAPSHOT 是博主写帖子时候的版本,大家使用最新版本即可 --> <version>1.0.1-SNAPSHOT</version> </dependency>
package org.springboot.sample.mapper;
import java.util.List;
import org.springboot.sample.entity.Student;
/**
* StudentMapper,映射SQL语句的接口,无逻辑实现
*
* @author 单红宇(365384722)
* @create 2016年1月20日
*/
public interface StudentMapper extends MyMapper<Student> {
List<Student> likeName(String name);
Student getById(int id);
String getNameById(int id);
}
package org.springboot.sample.config.mybatis;
import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.common.MySqlMapper;
/**
* 被继承的Mapper,一般业务Mapper继承它
*
*/
public interface MyMapper<T> extends Mapper<T>, MySqlMapper<T> {
//TODO
//FIXME 特别注意,该接口不能被扫描到,否则会出错
}
<?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="org.springboot.sample.mapper.StudentMapper">
<!-- type为实体类Student,包名已经配置,可以直接写类名 -->
<resultMap id="stuMap" type="Student">
<id property="id" column="id" />
<result property="name" column="name" />
<result property="sumScore" column="score_sum" />
<result property="avgScore" column="score_avg" />
<result property="age" column="age" />
</resultMap>
<select id="getById" resultMap="stuMap" resultType="Student">
SELECT *
FROM STUDENT
WHERE ID = #{id}
</select>
<select id="likeName" resultMap="stuMap" parameterType="string" resultType="list">
SELECT *
FROM STUDENT
WHERE NAME LIKE CONCAT('%',#{name},'%')
</select>
<select id="getNameById" resultType="string">
SELECT NAME
FROM STUDENT
WHERE ID = #{id}
</select>
</mapper>
package org.springboot.sample.entity;
import java.io.Serializable;
/**
* 学生实体
*
* @author 单红宇(365384722)
* @create 2016年1月12日
*/
public class Student implements Serializable{
private static final long serialVersionUID = 2120869894112984147L;
private int id;
private String name;
private String sumScore;
private String avgScore;
private int age;
// get set 方法省略
}
mybatis.mapper-locations=classpath*:org/springboot/sample/mapper/sql/mysql/*Mapper.xml mybatis.type-aliases-package=org.springboot.sample.entity
@Autowired
private StudentMapper stuMapper;
@RequestMapping("/likeName")
public List<Student> likeName(@RequestParam String name){
return stuMapper.likeName(name);
}
@SpringBootApplication
@MapperScan("sample.mybatis.mapper")
public class SampleMybatisApplication implements CommandLineRunner {
@Autowired
private CityMapper cityMapper;
public static void main(String[] args) {
SpringApplication.run(SampleMybatisApplication.class, args);
}
@Override
public void run(String... args) throws Exception {
System.out.println(this.cityMapper.findByState("CA"));
}
}
package sample.mybatis.mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import sample.mybatis.domain.City;
/**
* @author Eddú Meléndez
*/
public interface CityMapper {
@Select("SELECT * FROM CITY WHERE state = #{state}")
City findByState(@Param("state") String state);
}
<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>4.1.0</version> </dependency>
package org.springboot.sample.config;
import java.util.Properties;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.github.pagehelper.PageHelper;
/**
* MyBatis 配置
*
* @author 单红宇(365384722)
* @create 2016年1月21日
*/
@Configuration
public class MyBatisConfiguration {
private static final Logger logger = LoggerFactory.getLogger(MyBatisConfiguration.class);
@Bean
public PageHelper pageHelper() {
logger.info("注册MyBatis分页插件PageHelper");
PageHelper pageHelper = new PageHelper();
Properties p = new Properties();
p.setProperty("offsetAsPageNum", "true");
p.setProperty("rowBoundsWithCount", "true");
p.setProperty("reasonable", "true");
pageHelper.setProperties(p);
return pageHelper;
}
}
@RequestMapping("/likeName")
public List<Student> likeName(@RequestParam String name){
PageHelper.startPage(1, 1);
return stuMapper.likeName(name);
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有