内容简介:Spring Boot JDBC 使用
Spring 框架为使用 SQL 数据库提供了广泛的支持 , 本文介绍如何使用 JdbcTemplate 访问数据库 。
环境
- JDK 8
- Maven 3
- IntelliJ IDEA 2016
- Spring Boot 1.5.2.RELEASE
- MySQL 5.5
项目结构
项目依赖
<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.40</version> </dependency>
SQL 脚本
CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键', `name` varchar(32) NOT NULL COMMENT '姓名', `sex` char(1) NOT NULL COMMENT '性别', `email` varchar(64) NOT NULL COMMENT '邮件', `mobile` char(11) NOT NULL COMMENT '电话', `birthday` date NOT NULL COMMENT '生日', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COMMENT='用户表'; INSERT INTO `user` VALUES ('1', '张三', '男', 'zhangsan@163.com', '13800138000', '1990-04-27'); INSERT INTO `user` VALUES ('2', '李四', '女', 'lisi@gmail.com', '15989123654', '1995-08-07'); INSERT INTO `user` VALUES ('3', '王五', '男', 'wangwu@126.com', '18889456321', '1993-11-13'); INSERT INTO `user` VALUES ('4', '赵六', '女', 'zhaoliu@yeah.net', '17702012321', '1991-02-14');
实体类
public class User{ private Integer id; private String name; private String sex; private String email; private String mobile; private Date birthday; // getters and setters @Override public String toString(){ return "{id=" + id + ", name='" + name + "', sex='" + sex + "', email='" + email + "', mobile='" + mobile + "', birthday=" + birthday + "}"; } }
数据访问
Spring 的 JdbcTemplate 是自动配置的 , 使用 @Autowired
可以直接将其注入:
@Repository public class UserDao{ @Autowired private JdbcTemplate jdbcTemplate; public List<User> selectAll(){ return jdbcTemplate.query("SELECT * FROM USER", (rs, rn) -> { User user = new User(); user.setId(rs.getInt("id")); user.setName(rs.getString("name")); user.setSex(rs.getString("sex")); user.setEmail(rs.getString("email")); user.setMobile(rs.getString("mobile")); user.setBirthday(rs.getDate("birthday")); return user; }); } public void save(User user){ jdbcTemplate.update("INSERT INTO USER(NAME, SEX, EMAIL, MOBILE, BIRTHDAY) VALUES (?, ?, ?, ?, ?)", user.getName(), user.getSex(), user.getEmail(), user.getMobile(), user.getBirthday()); } }
数据源配置
application.yml
spring: main: banner-mode: 'off' datasource: url: jdbc:mysql://127.0.0.1/spring_boot_testing_storage username: root password: root driver-class-name: com.mysql.jdbc.Driver
SQL 输出
application.yml
logging: level: root: warn org.springframework.jdbc.core.JdbcTemplate: debug
Application
@SpringBootApplication public class Application implements ApplicationRunner{ @Autowired private UserDao userDao; @Override public void run(ApplicationArguments args) throws Exception{ System.out.println("===================== 新增 ====================="); User user = new User(); user.setName("fanlychie"); user.setSex("男"); user.setEmail("fanlychie@yeah.net"); user.setMobile("15989166266"); user.setBirthday(new Date()); userDao.save(user); System.out.println("Saved"); System.out.println("===================== 查询 ====================="); userDao.selectAll().forEach(System.out::println); } public static void main(String[] args){ SpringApplication.run(Application.class); } }
以上所述就是小编给大家介绍的《Spring Boot JDBC 使用》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- RecyclerView使用指南(一)—— 基本使用
- 如何使用Meteorjs使用URL参数
- 使用 defer 还是不使用 defer?
- 使用 Typescript 加强 Vuex 使用体验
- [译] 何时使用 Rust?何时使用 Go?
- UDP协议的正确使用场合(谨慎使用)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。