知识大全 Spring 数据源配置与应用
Posted 操作
篇首语:真正的知识是道德。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Spring 数据源配置与应用相关的知识,希望对你有一定的参考价值。
Spring 数据源配置与应用 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Spring 数据源配置与应用
Spring对数据库操作都依赖数据源
Spring有默认的数据源实现 springframework jdbc datasource DriverManagerDataSource 但也可以配置其他的数据源实现 比如DBCP的数据源public class BasicDataSource implements javax sql DataSource
一旦获取到数据源DataSource实例 就可以通过DataSource获取到数据库连接 操作数据库
下面是Spring数据源的一个简单配置和应用 应用环境 MySQL
drop table if exists user; /*==============================================================*/ /* Table: user */ /*==============================================================*/ create table user ( id bigint AUTO_INCREMENT not null name varchar( ) age int primary key (id) );
public class User private Integer id; private String name; private Integer age; public Integer getId() return id; public void setId(Integer id) this id = id; public String getName() return name; public void setName(String name) this name = name; public Integer getAge() return age; public void setAge(Integer age) this age = age;
public interface IUserDAO public void insert(User user); public User find(Integer id);
/** * Created by IntelliJ IDEA <br> * <b>User</b>: leizhimin<br> * <b>Date</b>: : : <br> * <b>Note</b>: 子类DAO */ public class UserDAO extends BaseDAO implements IUserDAO public void insert(User user) String name = user getName(); int age = user getAge() intValue(); Connection conn = null; Statement stmt = null; try conn = getConnection(); stmt = conn createStatement(); stmt execute( INSERT INTO user (name age) + VALUES( + name + + age + ) ); catch (SQLException e) e printStackTrace(); finally if (stmt != null) try stmt close(); catch (SQLException e) e printStackTrace(); if (conn != null) try conn close(); catch (SQLException e) e printStackTrace(); public User find(Integer id) Connection conn = null; Statement stmt = null; try conn = getConnection(); stmt = conn createStatement(); ResultSet result = stmt executeQuery( SELECT * FROM user WHERE id= + id intValue()); if (result next()) Integer i = new Integer(result getInt( )); String name = result getString( ); Integer age = new Integer(result getInt( )); User user = new User(); user setId(i); user setName(name); user setAge(age); return user; catch (SQLException e) e printStackTrace(); finally if (stmt != null) try stmt close(); catch (SQLException e) e printStackTrace(); if (conn != null) try conn close(); catch (SQLException e) e printStackTrace(); return null;
/** * Created by IntelliJ IDEA <br> * <b>User</b>: leizhimin<br> * <b>Date</b>: : : <br> * <b>Note</b>: 基类DAO 提供了数据源注入 */ public class BaseDAO private DataSource dataSource; public DataSource getDataSource() return dataSource; public void setDataSource(DataSource dataSource) this dataSource = dataSource; public Connection getConnection() Connection conn = null; try conn = dataSource getConnection(); catch (SQLException e) e printStackTrace(); return conn;
<?xml version= encoding= UTF ?> <!DOCTYPE beans PUBLIC //SPRING/DTD BEAN/EN beans dtd > <beans> <bean id= dataSource class= springframework jdbc datasource DriverManagerDataSource > <property name= driverClassName > <value> mysql jdbc Driver</value> </property> <property name= url > <value>jdbc:mysql://localhost: /springdb</value> </property> <property name= username > <value>root</value> </property> <property name= password > <value>leizhimin</value> </property> </bean> <bean id= baseDAO class= lavasoft springnote ch _jdbc BaseDAO abstract= true > <property name= dataSource > <ref bean= dataSource /> </property> </bean> <bean id= userDAO class= lavasoft springnote ch _jdbc UserDAO parent= baseDAO > </bean> </beans>
/** * Created by IntelliJ IDEA <br> * <b>User</b>: leizhimin<br> * <b>Date</b>: : : <br> * <b>Note</b>: 客户端测试 */ public class SpringDAODemo public static void main(String[] args) ApplicationContext context = new FileSystemXmlApplicationContext( D:\\\\_spring\\\\src\\\\\\\\lavasoft\\\\springnote\\\\ch _jdbc \\\\bean jdbc xml ); User user = new User(); user setName( caterpillar ); user setAge(new Integer( )); IUserDAO userDAO = (IUserDAO) context getBean( userDAO ); userDAO insert(user); user = userDAO find(new Integer( )); System out println( name: + user getName());
运行结果
log j:WARN No appenders could be found for logger (re CollectionFactory) log j:WARN Please initialize the log j system properly name: jdbctemplate Process finished with exit code
注意 Spring配置文件中对继承的配置 DataSource注入方式 通过继承来注入 从而简化编程 上面用的是Spring的自己的数据源实现 现在假如要换成apache的DBCP数据源 则配置改为如下即可
<bean id= dataSource class= mons dbcp BasicDataSource singleton= true > <property name= driverClassName > <value> mysql jdbc Driver</value> </property> <property name= url > <value>jdbc:mysql://localhost: /springdb</value> </property> <property name= username > <value>root</value> </property> <property name= password > <value>leizhimin</value> </property></bean>
cha138/Article/program/Java/ky/201311/27993相关参考
SpringIOC配置与应用 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nbs
Spring配置数据源四种方式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 使用spring框
Spring配置DHCP数据源 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! <beani
配置Spring的Proxool数据源 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Proxo
Spring通过JDBC配置数据库 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!XXXdataxm
知识大全 部署Spring与数据库的应用到CloudFoundry
部署Spring与数据库的应用到CloudFoundry 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下
知识大全 Spring 与 Log4J 进行动态日志配置切换
Spring与Log4J进行动态日志配置切换 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 引言
以前项目中经常用spring事务处理还没有亲自配置过惭愧现在马上上路. 首先在spring容器中配置transactionManager这个有好多实现这里以HibernateTransactio
详解Spring的配置文件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 想必用过Spring的
Spring配置Hessian 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 创建web工程并加