一、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&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
- 实际开发全是复制模板,改改数据库信息
