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
  • 实际开发全是复制模板,改改数据库信息
相关推荐
代码漫谈9 小时前
一文学习 SpringBoot 的 application.yml 配置,基于 Spring Boot 3.2.x
java·spring boot·spring·配置文件
SamDeepThinking9 小时前
程序员如何接受工作内容毫无意义?
java·后端·程序员
三翼鸟数字化技术团队9 小时前
基于Redis ZSet实现分布式优先级队列的技术实践
java·redis
_Evan_Yao9 小时前
一文搞懂:AI编程辅助工具——从GitHub Copilot到通义灵码,不同人群如何驾驭AI编程助手?
人工智能·后端·copilot·ai编程
无所事事O_o10 小时前
加密过程及原理浅析
java·加密
木雷坞10 小时前
边缘视频分析节点断网恢复排查记录
后端
2301_7717172110 小时前
最近在刷牛客:使用Spring AOP实现性能监控时
java·后端·spring
Java水解10 小时前
深入浅出多包架构(Monorepo)
后端
华清远见成都中心10 小时前
C 语言内存管理深度解析:malloc/free 与嵌入式堆栈分配策略
java·c语言·算法
YANZ22210 小时前
亚马逊绿标(CPF):从环保认证到跨境流量新引擎
java·大数据·人工智能·搜索引擎·百度