spring jdbc框架

本文内容纲要:spring jdbc框架

spring+jdbc

1、jdbc编程的特点:

模板编程

固定代码+动态的参数

spring产生dataSource

JdbcTemplate{//模板编程

private DataSource dataSource;

public void setDataSource(DataSource dataSource){

this.dataSource = dataSource;

}

public void update(String sql){

//产生链接

//产生Statement

//执行executeUpdate方法

}

使用spring与JDBC连接的方式

导包

1、让自己写的一个dao类继承JdbcDaoSupport

2、让自己写的一个dao类继承JdbcTemplate

3、让自己写的一个dao类里有一个属性为JdbcTemplate

总结:

1、引入dataSource的方式:

1、在dataSource的设置中直接写值

2、引入properties文件

2、在dao的写法中有很多种,最终只需要把dataSource注入到jdbcTemplate中

拿update当例子

PersonDao.java

1 package cn.itcast.spring.jdbc;

2

3 import org.springframework.jdbc.core.support.JdbcDaoSupport;

4

5 //JdbcDaoSupport的有setDataSource方法可以注入 DataSource

6 public class PersonDao extends JdbcDaoSupport{

7 public void update()

8 {

9 System.out.println("update operation 让自己写的一个dao类继承JdbcDaoSupport" );

10 this.getJdbcTemplate().update("update person set pname='aa' where pid=1");

11 }

12 }

PersonDao2.java

1 package cn.itcast.spring.jdbc;

2

3 import javax.sql.DataSource;

4

5 import org.springframework.jdbc.core.JdbcTemplate;

6 import org.springframework.jdbc.core.support.JdbcDaoSupport;

7

8

9 public class PersonDao2 extends JdbcTemplate{

10 //JdbcTemplate的父类有setDataSource方法可以注入 DataSource

11 //自身有构造方法 注入DataSource

12 //配置文件两种方法都可以

13 public PersonDao2(DataSource ds) {

14 super(ds);

15 }

16 public void update()

17 {

18 System.out.println("update operation 让自己写的一个dao类继承JdbcTemplate" );

19 this.update("update person set pname='aa' where pid=2");

20 }

21 }

PersonDao3.java

1 package cn.itcast.spring.jdbc;

2

3 import javax.sql.DataSource;

4

5 import org.springframework.jdbc.core.JdbcTemplate;

6 import org.springframework.jdbc.core.support.JdbcDaoSupport;

7

8 //3、让自己写的一个dao类里有一个属性为JdbcTemplate

9 //先让数据源 注入到JdbcTemplate然后 组合 用

10 //可以通过 构造方法 或者 注册依赖

11 public class PersonDao3 {

12 //属性名 在配置文件中不能写错

13 private JdbcTemplate jdbcTemplate;

14

15 public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {

16 this.jdbcTemplate = jdbcTemplate;

17 }

18

19 // public JdbcTemplate getJdbcTemplate() {

20 // return jdbcTemplate;

21 // }

22

23 public void update()

24 {

25 System.out.println("update operation 让自己写的一个dao类里有一个属性为JdbcTemplate" );

26 this.jdbcTemplate.update("update person set pname='aa' where pid=3");

27 }

28 }

applicationContext-spring_jdbc.xml

重点配置

1 <?xml version="1.0" encoding="UTF-8"?>

2 <beans xmlns="http://www.springframework.org/schema/beans"

3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

4 xsi:schemaLocation="http://www.springframework.org/schema/beans

5 http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

6 <bean

7 class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

8 <property name="locations">

9 <value>classpath:jdbc.properties</value>

10 </property>

11 </bean>

12

13

14 <bean id="dataSource" destroy-method="close"

15 class="org.apache.commons.dbcp.BasicDataSource">

16 <property name="driverClassName" value="${jdbc.driverClassName}" />

17 <property name="url" value="${jdbc.url}" />

18 <property name="username" value="${jdbc.username}" />

19 <property name="password" value="${jdbc.password}" />

20 </bean>

21 <!-- 第一种方式 -->

22 <bean id="personDao" class="cn.itcast.spring.jdbc.PersonDao">

23 <property name="dataSource">

24 <ref bean="dataSource"/>

25 </property>

26 </bean>

27

28 <!-- 第二种方式 -->

29 <bean id="personDao2" class="cn.itcast.spring.jdbc.PersonDao2">

30 <constructor-arg index="0" ref="dataSource"></constructor-arg>

31 </bean>

32 <!-- 第三种方式 -->

33 <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">

34 <property name="dataSource">

35 <ref bean="dataSource"/>

36 </property>

37 </bean>

38

39 <bean id="personDao3" class="cn.itcast.spring.jdbc.PersonDao3">

40 <property name="jdbcTemplate">

41 <ref bean="jdbcTemplate"/>

42 </property>

43 </bean>

44 </beans>

jdbc.properties 描述数据库配置信息

jdbc.driverClassName=com.mysql.jdbc.Driver

jdbc.url=jdbc\:mysql\://localhost\:3306/hibernate_basic

jdbc.username=root

jdbc.password=friends

测试

1 package cn.itcast.spring.jdbc;

2

3 import org.junit.Test;

4 import org.springframework.context.ApplicationContext;

5 import org.springframework.context.support.ClassPathXmlApplicationContext;

6

7 public class test {

8 //1、让自己写的一个dao类继承JdbcDaoSupport

9 @Test

10 public void testPersonDao1()

11 {

12 ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext-spring_jdbc.xml");

13 PersonDao dao=(PersonDao) context.getBean("personDao");

14 dao.update();

15 }

16 //2、让自己写的一个dao类继承JdbcTemplate

17

18 //要向子类中注入构造函数 否则 报错 找不到指定的构造函数

19 @Test

20 public void testPersonDao2()

21 {

22 ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext-spring_jdbc.xml");

23

24 PersonDao2 dao=(PersonDao2) context.getBean("personDao2");

25 dao.update();

26 }

27 //3、让自己写的一个dao类里有一个属性为JdbcTemplate

28 @Test

29 public void testPersonDao3()

30 {

31 ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext-spring_jdbc.xml");

32

33 PersonDao3 dao=(PersonDao3) context.getBean("personDao3");

34 dao.update();

35 }

36 }

本文内容总结:spring jdbc框架

原文链接:https://www.cnblogs.com/friends-wf/p/3785370.html

以上是 spring jdbc框架 的全部内容, 来源链接: utcz.com/z/362685.html

回到顶部