目录
SpringBoot整合JDBC、事务、连接池
Spring中的jdbc链接和事务的配置是非常重要的一步操作,在SpringBoot中,我们也就只需要找到SpringBoot提供的启动器即可,但是在使用启动器的同时,不要忘了数据库驱动,至于事务的整合,就只需要通过我们熟悉的@Transactional处理即可.在我们引入jdbc启动器的时候,我们可以发现,SpringBoot已经帮我们引入了一个连接池,如果需要整合和连接池只需要在配置文件中指定一些参数即可.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>

整合连接池(此处使用yaml[yml]配置文件):
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: 数据库
username: 用户名
password: 密码
SpringBoot整合mybatis(实例)
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.leyou</groupId>
<artifactId>springboot-demo</artifactId>
<version>1.0-SNAPSHOT</version>
<!--添加父工程坐标-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.3.RELEASE</version>
</parent>
<!--添加web启动器-->
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<!--配置mybatis的启动器-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.0.1</version>
</dependency>
<!--配置jdbc启动器-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<!--此处需要标记版本,父工程中的版本默认是8+的-->
<version>5.1.47</version>
</dependency>
</dependencies>
<properties>
<java.version>1.8</java.version>
</properties>
</project>
application.yml
#映射端口
server:
port: 80
#配置spring连接池的参数
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/springboot_db
username: root
password: root
##配置mybatis的相关参数
mybatis:
#别名扫描
type-aliases-package: com.leyou.pojo
# mapper.xml文件位置,如果没有映射文件,请注释掉
mapper-locations: classpath:mappers/**.xml
# 自动开启驼峰标识
configuration:
map-underscore-to-camel-case: true # 自动开启驼峰标识 user_name---》userName
Controller代码:
package com.leyou.controller;
import com.leyou.pojo.User;
import com.leyou.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController //替代了@ResponseBody+@controller
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
//@RequestMapping(value = "/{id}",method = RequestMethod.GET)
@GetMapping("/{id}")//替代了上面的代码
public User findById(@PathVariable("id") Long id) {
User user= userService.findById(id);
return user;
}
}
UserService代码:
package com.leyou.service;
import com.leyou.pojo.User;
public interface UserService {
User findById(Long id);
}
UserServiceImpl代码:
package com.leyou.service.impl;
import com.leyou.Mapper.UserMapper;
import com.leyou.pojo.User;
import com.leyou.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UserServiceImpl implements UserService{
@Autowired
private UserMapper userMapper;
@Override
public User findById(Long id) {
return userMapper.findById(id);
}
}
UserMapper代码:
package com.leyou.Mapper;
import com.leyou.pojo.User;
import org.apache.ibatis.annotations.Mapper;
@Mapper
//开启包扫描
public interface UserMapper {
User findById(Long id);
}
User实体类
package com.leyou.pojo;
import lombok.Data;
import java.util.Date;
@Data //注意要记得添加lombok的依赖
public class User {
// id
private Long id;
// 用户名
private String userName;
// 密码
//@column用来指定字段名
// @Column(name = "pwd")
private String password;
// 姓名
private String name;
// 年龄
private Integer age;
// 性别,1男性,2女性
private Integer sex;
// 出生日期
private Date birthday;
// 创建时间
private Date created;
// 更新时间
private Date updated;
// 备注
private String note;
}
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.leyou.Mapper.UserMapper" >
<select id="findById" parameterType="long" resultType="user">
select * from tb_user where id=#{id}
</select>
</mapper>

1万+

被折叠的 条评论
为什么被折叠?



