1.jdbc.properteis : 参数配置文件
jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql:///spring1 jdbc.username=root jdbc.password=root
2. applicationContext.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"
xmlns:contxt="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<!-- 引入配置文件 -->
<contxt:property-placeholder location="jdbc.properteis"/>
<!--配置 c3p0 连接池 -->
<!--c3p0-->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<!-- <property name="driverClass" value="com.mysql.jdbc.Driver"/>-->
<!-- <property name="jdbcUrl" value="jdbc:mysql:///spring1"/>-->
<!-- <property name="user" value="root"/>-->
<!-- <property name="password" value="root"/>-->
<property name="driverClass" value="${jdbc.driver}"/>
<property name="jdbcUrl" value="${jdbc.url}"/>
<property name="user" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
<!-- 配置druid -->
<bean id="druid" class="com.alibaba.druid.pool.DruidDataSource">
<property name="driverClassName" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
<!-- <property name="driverClassName" value="com.mysql.jdbc.Driver"/>-->
<!-- <property name="url" value="jdbc:mysql:///spring1"/>-->
<!-- <property name="username" value="root"/>-->
<!-- <property name="password" value="root"/>-->
</bean>
<!-- <bean id="dataSource" class=""></bean>-->
<!--配置JdbcTemplate-->
<!-- 使用 c3p0 连接池 -->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<constructor-arg name="dataSource" ref="druid" />
</bean>
</beans>
3. maven : pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.zengjx</groupId>
<artifactId>day38spring_jdbctemplate</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.1.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.1.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>5.1.2.RELEASE</version>
</dependency>
<dependency>
<!-- 数据库 -->
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
<dependency>
<!-- spring 整合 juinit -->
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>5.1.2.RELEASE</version>
</dependency>
<!-- c3p0 连接池 -->
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.5.3</version>
</dependency>
<!-- druid -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.10</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
</project>
4. domain:
package com.zengjx.domain;
public class Account {
private int id;
private String name;
private float money;
public Account() {
}
public Account(int id, String name, float money) {
this.id = id;
this.name = name;
this.money = money;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public float getMoney() {
return money;
}
public void setMoney(float money) {
this.money = money;
}
@Override
public String toString() {
return "Account{" +
"id=" + id +
", name='" + name + '\'' +
", money='" + money + '\'' +
'}';
}
}
5. mysql 表:
6. 测试类:
// 查询单个 @Test public void test2(){ String sql ="select * from account where id=5 "; Map<String, Object> queryForMap = jdbcTemplate.queryForMap(sql); System.out.println(queryForMap); }
注意 查询jdbcTemplate.queryForMap 如果 返回的是多个结果 那么会报错:
// 查询单个
@Test
public void test2(){
String sql ="select * from account where id=5 ";
Map<String, Object> queryForMap = jdbcTemplate.queryForMap(sql);
System.out.println(queryForMap);
}
错误信息:
信息: {dataSource-1} inited
org.springframework.dao.IncorrectResultSizeDataAccessException: Incorrect result size: expected 1, actual 4
插入数据:
@Test
public void test_insert(){
String sql="INSERT INTO account VALUES(?,?,?);";
int update = jdbcTemplate.update(sql,null,"ttt",2222f);
System.out.println(update);
}
//更新数据
@Test
public void test_update(){
String sql =" UPDATE account SET NAME =? , money=? WHERE id =?";
int update = jdbcTemplate.update(sql, "sasas", 1212f,7);
System.out.println(update);
}
@Test
//删除数据
public void test_delete(){
String sql =" DELETE FROM account WHERE id =?;";
int update = jdbcTemplate.update(sql, 5);
System.out.println(update);
}
//查找一个
@Test
public void test_queryOne(){
String sql =" SELECT * FROM account WHERE id= ? ";
Account account = jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper<>(Account.class), 3);
System.out.println(account);
}
//