引入jar包
直接配置
//创建数据源(连接池) dbcp
BasicDataSource basicDataSource = new BasicDataSource();
basicDataSource.setDriverClassName("驱动");
basicDataSource.setUrl("连接到的库的url");
basicDataSource.setUsername("用户名");
basicDataSource.setPassword("密码");
//创建模板
JdbcTemplate jdbcTemplate = new JdbcTemplate();
jdbcTemplate.setDataSource(basicDataSource);
//通过api操作
jdbcTemplate.update("insert into `admin`(id,username,password) values(?,?,?)","2","xiaoming","1234");
基于xml配置
javabean:
@Getter@Setter
public class Admin {
String id;
String username;
String password;
@Override
public String toString() {
return "Admin{" +
"id='" + id + '\'' +
", username='" + username + '\'' +
", password='" + password + '\'' +
'}';
}
}
DAO层:
public class AdminDao {
private JdbcTemplate jdbcTemplate;
public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
public void insertAdmin(Admin admin)
{
String sql = "insert into `admin`(id,username,password) values(?,?,?)";
Object[] args = {admin.getId(), admin.getUsername(), admin.getPassword()};
jdbcTemplate.update(sql,args);
}
}
xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<!-- 引入aop命名空间-->
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">
<!--创建数据源-->
<bean id="dataSourceId" class="org.apache.commons.dbcp2.BasicDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://localhost:3306/mystore"></property>
<property name="username" value="root"></property>
<property name="password" value="Zsw.317412696"></property>
</bean>
<!--创建模板,需要注入数据源-->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSourceId"></property>
</bean>
<!--配置dao-->
<bean id="adminDao" class="com.zamao.JDBCTemplate.AdminDao">
<property name="jdbcTemplate" ref="jdbcTemplate"></property>
</bean>
</beans>
测试类:
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("com/zamao/JDBCTemplate/applicationContext.xml");
AdminDao adminDao = (AdminDao) applicationContext.getBean("adminDao");
Admin admin = new Admin();
admin.setId("3");
admin.setUsername("suojiji");
admin.setPassword("1234");
adminDao.insertAdmin(admin);
使用c3p0创建数据源
只需要修改xml中配置数据源中的property中的name属性。
<bean id="dataSourceId" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="com.mysql.jdbc.Driver"></property>
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/mystore"></property>
<property name="user" value="root"></property>
<property name="password" value="Zsw.317412696"></property>
</bean>
使用JdbcDaoSupport进行配置
JdbcDaoSupport类中有生成JdbcTemplate的方法,还有配置数据源的set方法,所以DAO层继承JdbcDaoSupport可以不用创建JdbcTemplate对象,并配置数据源了。
继承JdbcDaoSupport的DAO层:
public class AdminDao extends JdbcDaoSupport {
public void insertAdmin(Admin admin)
{
String sql = "insert into `admin`(id,username,password) values(?,?,?)";
Object[] args = {admin.getId(), admin.getUsername(), admin.getPassword()};
this.getJdbcTemplate().update(sql,args);
}
public List<Admin> findAll()
{
return this.getJdbcTemplate().query("select * from `admin`", BeanPropertyRowMapper.newInstance(Admin.class));
}
}
xml:
<?xml version="1.0" encoding="UTF-8"?>
<!-- 引入aop命名空间-->
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="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-4.0.xsd">
<!--创建数据源-->
<bean id="dataSourceId" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="com.mysql.jdbc.Driver"></property>
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/mystore"></property>
<property name="user" value="root"></property>
<property name="password" value="Zsw.317412696"></property>
</bean>
<!--配置dao-->
<bean id="adminDao" class="com.zamao.JDBCDAPSupport.AdminDao">
<property name="dataSource" ref="dataSourceId"></property>
</bean>
</beans>
引入properties文件进行配置
一般开发时,我们会将配置数据源所需要的变量都放在一个properties文件中。
jdbc.properties:
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.jdbcUrl=jdbc:mysql://localhost:3306/mystore
jdbc.user=root
jdbc.password=Zsw.317412696
xml文件中引入properties:
<!--加载配置文件
"classpath:前缀表示src下"
-->
<context:property-placeholder location="classpath:com/zamao/JDBCDAPSupport/jdbcInfo.properties"/>