前言
mybatis开发过程中用到的还是比较多的,之前我用的大多都是注解形式,xml用的不多,所以就用了点时间吧xml格式的也看了下,做了总结在这里写下。
开始工作
引入jar包
<dependency><!-- 引入mybits依赖-->
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>
<dependency><!-- mysql连接java包 -->
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
配置文件
#驱动名称
spring.datasource.driverClassName=com.mysql.jdbc.Driver
#url地址
spring.datasource.url=jdbc:mysql://localhost:3306/poetry?useUnicode=true&characterEncoding=utf-8&&serverTimezone=GMT%2B8
#用户名
spring.datasource.username=root
#密码
spring.datasource.password=yu123467.
#扫描实体类路径
mybatis.type-aliases-package=com.xue.mybitsdemo.entity
#映射文件路径及名称
mybatis.mapper-locations:classpath:mapper/*Mapper.xml
#mybats配置文件
mybatis.config-location:classpath:config/mybits-config.xml
测试用表建表语局
CREATE TABLE `student` (
`s_id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '主键id',
`s_name` VARCHAR(50) NOT NULL DEFAULT '0' COMMENT '学生姓名',
`s_age` INT(11) NOT NULL DEFAULT '0' COMMENT '学生年龄',
`s_sex` VARCHAR(50) NOT NULL DEFAULT '0' COMMENT '学生性别',
PRIMARY KEY (`s_id`)
)
COMMENT='学生信息表'
ENGINE=InnoDB
;
目录结构
-- main
--java
--com.xue.mybitsdemo
--dao
--StudentMapper.class
--entity
--StudentEntity.class
--MybitsdemoApplication.class
--resource
--config
mybatis-config.xml
--mapper
StudentMapper.xml
--application.properties
xml格式
mybits-config.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>
<settings>
<!-- 开启驼峰匹配 -->
<setting name="mapUnderscoreToCamelCase" value="true" />
</settings>
</configuration>
Mapper开发
package com.xue.mybitsdemo.dao;
import com.xue.mybitsdemo.entity.StudentEntity;
import java.util.List;
public interface StudentMapper {
//根据id获取一条数据
StudentEntity getOne(Integer id);
//根据多条件获取一条数据
StudentEntity getOne2(StudentEntity studentEntity);
//获取全部数据
List<StudentEntity> getAll();
//插入一条数据
void insert(StudentEntity studentEntity);
//删除一条数据
void deleteOne(Integer id);
//修改一条数据
void update(StudentEntity studentEntity);
}
这些接口需要在映射文件中一一实现,可以在类文件上添加@Mapper注解,很多Mapper的话有点麻烦,推荐直接在启动类那添加。启动的时候,就去扫描,自动注入了
@SpringBootApplication
@MapperScan(basePackages= {
"com.xue.mybitsdemo.dao"})
public class MybitsdemoApplication {
public