前言
今天介绍的是关于Spring的数据库连接以及Jdbc模板的相关API方法,虽然在学习了hibernate之后,会知道实现数据库连接一般都是使用hibernate等持久化框架来实现的。但是,很多时候一些涉及到事务的东西使用这些框架并不能够实现,所以我们还需要结合spring来实现相关的需要。
一、创建工程、导包
要想使用Spring的jdbc模板前,还需要导入相关的jar包:
二、进行相关的bean的创建以及工具类的编写
2.1在数据库中创建了两张表,使用spring的jdbcTemplate中的API方法对这两张表进行操作
CREATE TABLE t_dept
(
deptid
int(11) NOT NULL,
deptname
varchar(20) CHARACTER SET utf8 DEFAULT NULL,
remark
varchar(30) CHARACTER SET utf8 DEFAULT NULL,
PRIMARY KEY (deptid
)
) ENGINE=InnoDB DEFAULT CHARSET=gbk COLLATE=gbk_bin;
CREATE TABLE user
(
USER_ID
int(11) NOT NULL,
USER_NAME
varchar(11) DEFAULT NULL,
USER_PASSWORD
varchar(11) DEFAULT NULL,
USER_ADDRESS
varchar(25) DEFAULT NULL,
PRIMARY KEY (USER_ID
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2.2创建实体bean
package com.bean;
/**
- 创建t_dept表对应的表
- @author 夜孤寒
- @version 1.1.1
*/
public class DeptBean {
private int deptid;
private String deptname;
private String remark;
public DeptBean() {
super();
}
public DeptBean(int deptid, String deptname, String remark) {
super();
this.deptid = deptid;
this.deptname = deptname;
this.remark = remark;
}
public int getDeptid() {
return deptid;
}
public void setDeptid(int deptid) {
this.deptid = deptid;
}
public String getDeptname() {
return deptname;
}
public void setDeptname(String deptname) {
this.deptname = deptname;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
}
2.3创建spring的工具类——SpringUtil.java
package com.util;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
- 读取配置文件的工具类,实现了类似工厂模式的方式
- @author 夜孤寒
- @version 1.1.1
*/
public class SpringUtil {
// 定义属性
private static ApplicationContext context;
// 读取配置文件
static {
context = new ClassPathXmlApplicationContext(“spring.xml”);
}
// 定义一个方法,判断bean是否为空,如果不为空的,获取这个bean
public static Object getBean(String beanName) {
// 定义一个空对象
Object obj = null;
// 如果beanName不为空的话,那么根据这个beanName获取到bean对象,赋值给obj并返回
if (beanName != null && !beanName.equals("")) {
obj = context.getBean(beanName);
}
return obj;
}
}
2.4进行配置文件的相关配置——spring.xml文件的配置
因为要介绍的API方法可能比较多,所以一次性将写过的xml全部粘贴了,读者可以根据对应的配置,去对应到相应的类中:
<?xml version="1.0" encoding="UTF-8"?> 2.5介绍spring对于jdbc的模板的支持(1)数据库的连接
对应xml中的配置为:
对应的测试类:package com.jdbc;
import java.sql.Connection;
import java.sql.SQLException;
import javax.sql.DataSource;
import com.util.SpringUtil;
/**
- 连接数据库的测试类
- @author 夜孤寒
- @version 1.1.1
/
public class TestMain_1 {
public static void main(String[] args) {
/
- 本来需要用applicationContext获取到我们的bean对象,
- 这里使用工厂类的方法将之独立出来,具体使用见SpringUtil.java
*/
DataSource datasource=(DataSource)SpringUtil.getBean(“dataSource”);
Connection conn=null;
try{
conn=datasource.getConnection();
}catch(SQLException e){
e.printStackTrace();
}
System.out.println(conn);//测试是否能够输出连接
}
}
由此可见测试成功可以获取到相应的数据库连接。
(2)测试从创建的user表中查询出相应的数据
对应xml配置为:
对应的测试类为:package com.jdbc;
import java.sql.Connection;
import java.sql.ResultSet;
import javax.sql.DataSource;
import com.mysql.jdbc.Statement;
import com.util.SpringUtil;
/**
- 从创建的user表中查询相关的数据
- @author 夜孤寒
- @version 1.1.1
*/
public class TestMain_2 {