(1)创建SpringBoot项目
(2)集成MyBatis
- 导入坐标
<!-- 连接数据库,版本5 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.32</version>
</dependency>
<!-- 连接数据库,版本8 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.23</version>
</dependency>
<!-- mybatis -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.0</version>
</dependency>
- 配置yam文件
# 连接数据库
spring:
datasource:
url: jdbc:mysql://localhost:3306/zzutwo?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull&useTimezone=true&serverTimezone=GMT%2B8&allowMultiQueries=true
# 兼容以前的配置,${}可以获取对应变量的值
jdbc-url: ${spring.datasource.url}
username: root
password: root
driver-class-name: com.mysql.jdbc.Driver
# MySql 8.0以上版本
# driver-class-name: com.mysql.cj.jdbc.Driver
# MyBatis
mybatis:
# 指定MyBatis的Mapper XML文件位置
mapper-locations: classpath:mapper/*.xml
configuration:
# 将mybatis的日志输出在控制台
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
# 开启下划线字段自动映射为驼峰命名
map-underscore-to-camel-case: true
- 编写Mapper接口
@Mapper // 标识该接口是操作数据库的接口,会自动生成实现类的代理对象,交给容器管理
public interface UserMapper {
public List<User> getUser();
}
- 编写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.zzu.mapper.UserMapper">
<select id="getUser" parameterType="com.hkd.spingbootweb.entity.User" resultType="com.zzu.pojo.User">
select * from user where id = #{id}
</select>
</mapper>
- 编写Service
public interface UserService {
public List<User> getUser();
}
- 编写Service实现类
@Service
public class UserServiceImpl implements UserService {
@Autowired
UserMapper userMapper;
@Override
public List<User> getUser(){
return userMapper.getUser();
}
}
- 编写Controller
@CrossOrigin // 允许跨域访问
@ResponseBody // 使用JSON格式返回数据
@Controller
@RequestMapping("/user")
public class UserController {
@Value("${spring.datasource.url}")
private String url;
@Autowired
UserService userService;
@GetMapping("/deltm")
public void deltm(@RequestParam int id) {
Tm tm = new Tm();
tm.setId(id);
userService.deleteTmById(tm);
}
}
- 测试
@SpringBootTest
@Slf4j
class ZzuServerApplicationTests {
@Autowired // 自动注入该接口的实现类对象
UserService userService;
@Test
void testMybatis(){
List<User> list = userService.getUser();
list.stream().forEach(user -> log.info(user.toString()));
}
}
- 测试结果