SpringBoot +JDBC连接Mysql数据库

SpringBoot +JDBC连接Mysql数据库SpringBoot使用JDBC连接Mysql数据库    Spring连接Mysql的方式有很多,例如JDBC,SpringJPA,Hibeirnate,Mybatis等,本文主要介绍使用最简单、最底层的JDBC方式来连接Mysql数据库,JDBC连接数据库,主要是注入JdbcTemplate,使用JdbcTemplate来操作数据库。一、在mysql中的test库中建立user表,…

大家好,又见面了,我是你们的朋友全栈君。

SpringBoot 使用JDBC连接Mysql数据

    Spring连接Mysql的方式有很多,例如JDBC,Spring JPA,Hibeirnate,Mybatis等,本文主要介绍使用最简单、最底层的JDBC方式来连接Mysql数据库,JDBC连接数据库,主要是注入JdbcTemplate,使用JdbcTemplate来操作数据库。

一、在mysql中的test库中建立user表,并插入两条数据,为后续做好准备

    SpringBoot +JDBC连接Mysql数据库

建表语句如下:

CREATE TABLE `user` (
  `id` varchar(20) DEFAULT NULL,
  `name` varchar(20) DEFAULT NULL,
  `age` varchar(20) DEFAULT NULL,
  `sex` varchar(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
INSERT INTO `user`(`id`, `name`, `age`, `sex`) VALUES ('1', 'oyc', '18', 'male');
INSERT INTO `user`(`id`, `name`, `age`, `sex`) VALUES ('2', 'ouyang', '19', 'male');

二、在pom.xml中添加依赖

<!--JDBC-->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>

SpringBoot +JDBC连接Mysql数据库

三、添加配置文件配置数据库和其他参数

在resource文件夹下添加application.properties配置文件并输入数据库参数,如下:

############################################################
#
# mysql
#
############################################################
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.max-idle=10
spring.datasource.max-wait=10000
spring.datasource.min-idle=5
spring.datasource.initial-size=5

 SpringBoot +JDBC连接Mysql数据库

四、新增实体类User.java,属性与数据库user表相对应

package com.oycbest.jdbcdemo.domain;


/**
 * @author oyc
 * @Description:用户实体类
 * @date 2018/7/8 22:51
 */

public class User{

	//用户id
	private String id;

	//用户名称
	private String name;

	//户年龄
	private String age;

	//用户性别
	private String sex;

	//此处省略setter和getter
}

    SpringBoot +JDBC连接Mysql数据库

五、新建测试类连接数据库

/**
 * @author oyc
 * @Description: 用户控制类
 * @date 2018/7/8 22:10
 */
@Controller
@RequestMapping("/jdbc")
public class JdbcController {

    @Resource
    private JdbcTemplate jdbcTemplate;

    @RequestMapping("/user")
    @ResponseBody
    public List<User> list(ModelMap map) {
        String sql = "SELECT * FROM user";
        List<User> userList = jdbcTemplate.query(sql, new RowMapper<User>() {
            User user = null;
            @Override
            public User mapRow(ResultSet rs, int rowNum) throws SQLException {
                user = new User();
                user.setId(rs.getString("id"));
                user.setName(rs.getString("name"));
                user.setSex(rs.getString("sex"));
                user.setAge(rs.getString("age"));
                return user;
            }
        });
        for (User user : userList) {
            System.out.println(user.toString());
        }
        return userList;

    }

    @RequestMapping("/userList")
    public String userList(ModelMap map) {
        String sql = "SELECT * FROM user";
        List<User> userList = jdbcTemplate.query(sql, new RowMapper<User>() {
            User user = null;
            @Override
            public User mapRow(ResultSet rs, int rowNum) throws SQLException {
                user = new User();
                user.setId(rs.getString("id"));
                user.setName(rs.getString("name"));
                user.setSex(rs.getString("sex"));
                user.setAge(rs.getString("age"));
                return user;
            }
        });
        map.addAttribute("users", userList);
        return "user";
    }
}

SpringBoot +JDBC连接Mysql数据库

六、新增一个thymeleaf模板页面user.html用于显示用户信息列表

      SpringBoot +JDBC连接Mysql数据库

七、使用浏览器测试

SpringBoot +JDBC连接Mysql数据库

    SpringBoot +JDBC连接Mysql数据库

源代码地址:https://github.com/oycyqr/jdbcdemo/

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/152865.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • POJ 1252 Euro Efficiency

    POJ 1252 Euro Efficiency

    2022年1月8日
    51
  • XXE攻防

    XXE攻防目录前言什么是XXE脑图什么是XMLXML基本语法文档类型定义(DTD)实体XXE攻击分类检测XXE存在任意文件读取SSRF攻击执行系统命令探测内网端口BlindXXE漏洞靶机实测Vulnhub搭建任意文件读取获取flag靶机实测XXE-lab防御方式使用开发语言提供的禁用外部实体的方法过滤用户提交的XML数据参考前言什么是XXEXXE(XMLExternalEntityInjection)即XML外部实体注入,攻击者通过向服务器注入指定的XML实体内容,从而让服务器按照指定的配置进行执行,

    2022年5月24日
    42
  • ubuntu安装后如何配置_ubuntu device for boot loader

    ubuntu安装后如何配置_ubuntu device for boot loader一、安装软件包#aptinstallcoturn二、配置coturn1、复制DTLS、TLS支持的证书文件:#cp/usr/share/coturn/examples/etc/turn_server_cert.pem/etc/turn_server_cert.pem#cp/usr/share/coturn/examples/etc/turn_server_pkey.pem/etc/t…

    2025年6月13日
    2
  • tensorflow 安装问题总结

    tensorflow 安装问题总结tensorflow 安装问题总结

    2022年4月24日
    40
  • LSTM模型介绍

    LSTM模型介绍递归神经网络(RNN)人类不会每时每刻都开始思考。当你阅读这篇文章时,你会根据你对之前单词的理解来理解每个单词。你不会忘掉掉所有东西,然后再从头开始思考。你的想法有持久性。传统的神经网络不能做到这一点,这是一个主要的缺点。例如,假设您想要对电影视频中每个点发生的事件进行分类。目前尚传统神经网络无法利用其对电影中先前事件的推理来预测后者。循环神经网络解决了这个问题。它们是带有循环的…

    2025年10月24日
    3
  • Selenium实战——.Net下的自动化测试搭建

    Selenium实战——.Net下的自动化测试搭建

    2021年8月22日
    48

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号