- 1.在pom.xml文件添加依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
- 2.添加Application.yml文件,配置数据源和Mybatis
server:
port: 8080
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
username: root
password: 123
mybatis:
mapper-locations: classpath:mapping/*.xml #注意:一定要对应mapper映射xml文件的所在路径
type-aliases-package: com.example.demo.entity # 注意:对应实体类的路径
-
3.编写实体类User和持久层UserMapper
-
实体类User
public class User implements Serializable {
private static final Long serialVersionUID=8655851615465363473L;
private Long id;
private String user_name;
private Date date;
public User() {
}
public User(String user_name, Date date) {
this.user_name = user_name;
this.date = date;
}
public User(Long id, String user_name, Date date) {
this.id=id;
this.user_name = user_name;
this.date = date;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", user_name='" + user_name + '\'' +
", date=" + date +
'}';
}
- 数据库表user
Create Table
CREATE TABLE `user` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`date` datetime DEFAULT NULL,
`user_name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=87 DEFAULT CHARSET=utf8
- 持久层UserMapper:我这里注解和映射文件两种方式都用了
@Mapper
@Component
public interface UserMapper {
@Select("select * from user where user_name=#{username}")
User findByuserName(@Param("username") String username); //注解方式
int insert(User user); //映射文件方式
}
- 映射文件UserMapper.xml
<?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.demo.mapper.UserMapper">
//id要对应UserMapper的方法insert
<insert id="insert" parameterType="com.example.demo.entity.User">
INSERT INTO `user`(`date`,`user_name`) VALUES (#{date},#{userName})
</insert>
</mapper>
- 4 测试
@RunWith(SpringRunner.class)
@SpringBootTest
public class DemoApplicationTests {
private static final Logger log= LoggerFactory.getLogger(DemoApplicationTests.class);
@Autowired
private UserMapper userMapper;
@Test
@Transactional
public void contextLoads() {
int row1 = userMapper.insert(new User( "aaa", new Date()));
log.info("[添加结果] - [{}]",row1);
int row2=userMapper.insert(new User("bbb",new Date()));
log.info("[添加结果] - [{}]",row2);
int row3=userMapper.insert(new User("ccc",new Date()));
log.info("[添加结果] - [{}]",row3);
User user=userMapper.findByuserName("bbb");
log.info("[查找结果] - [{}]",user);
}
}
- 测试结果
2018-09-18 16:43:33.103 INFO 16500 --- [ main] com.example.demo.DemoApplicationTests : [添加结果] - [1]
2018-09-18 16:43:33.111 INFO 16500 --- [ main] com.example.demo.DemoApplicationTests : [添加结果] - [1]
2018-09-18 16:43:33.113 INFO 16500 --- [ main] com.example.demo.DemoApplicationTests : [添加结果] - [1]
2018-09-18 16:43:33.137 INFO 16500 --- [ main] com.example.demo.DemoApplicationTests : [查找结果] - [User{id=2, user_name='bbb', date=Sun Sep 16 00:00:00 CST 2018}]
- 我的目录结构