知识大全 抽取spring数据库连接部分到项目中

Posted 属性

篇首语:不要等待机会,而要创造机会。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 抽取spring数据库连接部分到项目中相关的知识,希望对你有一定的参考价值。

  用spring来管理项目的数据库部分 往往比自己去写连接要容易管理的多 步骤也比较简单

   项目根目录下建立conf lib目录 将spring相关包coop到lib中并导入 建立 个文件jdbc properties bean xml

  jdbc properties:

  []

  driverClassName= gjt mm mysql Driver

  url=jdbc:mysql://localhost: /test?useUnicode=true&characterEncoding=UTF

  username=root

  password=root

  initialSize=

  maxActive=

  maxIdle=

  minIdle=

  bean xml:

  []

  <?xml version= encoding= UTF ?>

  <beans xmlns= /schema/beans

  xmlns:xsi= / /XMLSchema instance xmlns:context= /schema/context

  xmlns:aop= /schema/aop xmlns:tx= /schema/tx

  xsi:schemaLocation= /schema/beans

  /schema/beans/spring beans xsd

  /schema/context /schema/context/spring context xsd

  /schema/aop /schema/aop/spring aop xsd

  /schema/tx /schema/tx/spring tx xsd >

  <! 读取jdbc properties配置文件    location= classpath:jdbc properties >

  <context:property placeholder location= classpath:jdbc properties />

  <! 配置数据源 >

  <bean id= dataSource class= mons dbcp BasicDataSource

  destroy method= close >

  <property name= driverClassName value= $driverClassName />

  <property name= url value= $url />

  <property name= username value= $username />

  <property name= password value= $password />

  <! 连接池启动时的初始值 >

  <property name= initialSize value= $initialSize />

  <! 连接池的最大值 >

  <property name= maxActive value= $maxActive />

  <! 最大空闲值 当经过一个高峰时间后 连接池可以慢慢将已经用不到的连接慢慢释放一部分 一直减少到maxIdle为止 >

  <property name= maxIdle value= $maxIdle />

  <!   最小空闲值 当空闲的连接数少于阀值时 连接池就会预申请去一些连接 以免洪峰来时来不及申请 >

  <property name= minIdle value= $minIdle />

  </bean>

  <!

  采用注解方式来配置事务 针对数据源的事务管理器

  把我们定义的数据源注入到DataSourceTransactionManager类的属性dataSource中

   >

  <bean id= txManager

  class= springframework jdbc datasource DataSourceTransactionManager >

  <property name= dataSource ref= dataSource />

  </bean>

  <!

  引入命名空间 xmlns:tx= /schema/tx

   /schema/tx

  /schema/tx/spring tx xsd

  采用@Transaction注解方式使用事务管理器

   >

  <tx:annotation driven transaction manager= txManager />

  <! 配置业务bean PersonServiceBean >

  <bean id= playerService class= spring db PlayerServiceBean >

  <! 向属性dataSource注入数据源 >

  <property name= dataSource ref= dataSource ></property>

  </bean>

  </beans>

  jdbc 不用说了 bean xml是主要的配置文件主要有 个部分

  ( ) <bean id= dataSource >为配置数据源 从jdbc properties读取

  如果数据源有多个 只要复制这一部分就可以了

  ( ) <! 配置业务bean PersonServiceBean >部分 这部分为配置自己的业务service 比如我配置的一个

  <bean id= playerService class= spring db PlayerServiceBean >

  <! 向属性dataSource注入数据源 >

  <property name= dataSource ref= dataSource ></property>

  </bean>

  id 为唯一的标识 class是类路径 name= dataSource 是类中的属性 ref就是要用到的数据源id

   配置文件写好后 就可以写数据库读写的部分了 主要管理在DBServer java 中

  [java]

  package spring db;

  import ntext ApplicationContext;

  import ntext support ClassPathXmlApplicationContext;

  public class DBServer

  private  PlayerService playerService;

  private static DBServer instance = null;

  public static DBServer getInstance()

  if (instance == null)

  instance = new DBServer();

  

  return instance;

  

  public DBServer()

  ApplicationContext act = new ClassPathXmlApplicationContext( bean xml );

  playerService = (PlayerService) act getBean( playerService );

  

  public PlayerService getPlayerService()

  return playerService;

  

  public void setPlayerService(PlayerService playerService)

  this playerService = playerService;

  

  

  为了方便 就直接在构造函数里面初始化了 代码也容易理解

  playerService = (PlayerService) act getBean( playerService ); 就是对应bean xml中的

  <bean id= dataSource >部分 有多个service 继续添加就可以了

  PlayerService和PlayerServiceBean分别为接口和实现类 将需要的方法 定义在service中并在相应的实现类

  实现就可以了

   上述弄完之后 写个测试类测一下

  先在数据库建个user(id name)表 测试代码

  [java]

  public class TestSpring

  public static void main(String[] args)

  Player p = new Player( spring jdbc );

  //add 

  DBServer getInstance() getPlayerService() add(p );

  //query

  Player p = DBServer getInstance() getPlayerService() getPlayer( );

  System out println( id = +p getId()+ name = +p getName());

  

  运行下 得到结果

cha138/Article/program/Java/ky/201311/28088

相关参考

知识大全 数据抽取、清洗与转换及BI项目中ETL设计[4]

数据抽取、清洗与转换及BI项目中ETL设计[4]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 数据抽取、清洗与转换及BI项目中ETL设计[3]

数据抽取、清洗与转换及BI项目中ETL设计[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 数据抽取、清洗与转换及BI项目中ETL设计[2]

数据抽取、清洗与转换及BI项目中ETL设计[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 数据抽取、清洗与转换及BI项目中ETL设计[1]

数据抽取、清洗与转换及BI项目中ETL设计[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 随机抽取数据库中的记录

  数据库里有条记录随机抽取条  code<%数据库连接SetobjConn=ServerCreateObject(ADODBConnection)objConnConnectionString

知识大全 使用Spring管理数据源连接池

使用Spring管理数据源连接池  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nbs

知识大全 Java项目中连接数据库的几种方式和范例

Java项目中连接数据库的几种方式和范例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  最原始的

知识大全 影响性能的测试报告(数据库版)

  引言    前提项目组里无用到SPRING进行事务的管理项目里以功能划分到每个人手里    形成了BODAOACTIONVIEW都是单人负责在DAO中每个动作都以    封闭式的形式存在    问

知识大全 spring中连接池的配置

  在默认通过myeclipse生成的配置里spring使用的是apache的dbcp连接池  <beanid=dataSource  class=monsdbcpBasicDataSource

知识大全 部署Spring与数据库的应用到CloudFoundry

部署Spring与数据库的应用到CloudFoundry  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下