Spring JDBC 万能模板

一、XML 万能模板(最常用)

文件名:spring-jdbc.xml

复制代码
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd">

    <!-- 数据源 -->
    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost:3306/数据库名?useSSL=false&amp;serverTimezone=Asia/Shanghai"/>
        <property name="username" value="root"/>
        <property name="password" value="你的密码"/>
    </bean>

    <!-- JdbcTemplate -->
    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
        <property name="dataSource" ref="dataSource"/>
    </bean>

</beans>

只需要改这 4 个地方:

数据库名

用户名

密码

驱动版本(一般不用改)

二、Java 配置类万能模板------工具准备室

文件名:JdbcConfig.java

复制代码
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.DriverManagerDataSource;

import javax.sql.DataSource;

@Configuration
public class JdbcConfig {

    @Bean
    public DataSource dataSource() {
        DriverManagerDataSource ds = new DriverManagerDataSource();
        ds.setDriverClassName("com.mysql.cj.jdbc.Driver");
        ds.setUrl("jdbc:mysql://localhost:3306/数据库名?serverTimezone=Asia/Shanghai");
        ds.setUsername("root");
        ds.setPassword("你的密码");
        return ds;
    }

    @Bean
    public JdbcTemplate jdbcTemplate(DataSource dataSource) {
        return new JdbcTemplate(dataSource);
    }
}

三、使用时万能写法

UserDao.java

复制代码
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import java.util.List;

public class UserDao {

    @Autowired
    private JdbcTemplate jdbcTemplate;

    // 增
    public void add() {
        String sql = "insert into user(name,age) values(?,?)";
        jdbcTemplate.update(sql, "张三", 20);
    }

    // 删
    public void delete(int id) {
        String sql = "delete from user where id=?";
        jdbcTemplate.update(sql, id);
    }

    // 改
    public void update() {
        String sql = "update user set age=? where id=?";
        jdbcTemplate.update(sql, 21, 1);
    }

    // 查
    public List<User> findAll() {
        String sql = "select * from user";
        return jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(User.class));
    }
}
  • XML 里:bean 造对象,property 设值
  • JdbcTemplate 用来执行 SQL
  • 实际开发全是复制模板,改改数据库信息
相关推荐
常利兵2 小时前
从0到1:Spring Boot 中WebSocket实战揭秘,开启实时通信新时代
spring boot·后端·websocket
liaowenxiong2 小时前
实现类和接口的关系
java
编程迪2 小时前
基于Java和uniapp开发的名片交换分享系统企业名片管理软件个人电子名片小程序源码
java·uni-app·电子名片·名片小程序·名片软件源码
开开心心就好2 小时前
经典塔防游戏移植移动端随时畅玩
java·前端·科技·游戏·edge·django·pdf
m0_694845572 小时前
VoxCPM部署教程:构建AI语音交互系统
服务器·人工智能·后端·自动化
Rust研习社2 小时前
Rust 是如何判断对象是否相等的?一起来聊一聊 PartialEq 与 Eq
后端·rust·编程语言
ZPC82102 小时前
moveit servo 发指令给real arm
java·前端·数据库
企微增长观察2 小时前
企业微信怎么注册?2026年完整注册流程
java·人工智能·企业微信
我叫黑大帅2 小时前
TCP 长连接服务:登录注册认证体系实战指南
后端·面试·go