Spring:JdbcTemplate、事务

来自Wikioe
Eijux讨论 | 贡献2020年10月31日 (六) 02:54的版本 →‎连接池
跳到导航 跳到搜索


关于 =

spring对不同的持久化层技术都进行了封装:

Spring的dao模板类.png

jdbcTemplate 对JDBC进行了封装;

jar包

Spring-JDBCTemplate相关jar包.jpg

  • 数据库驱动包;
  • JDBC 包;
  • 事务包

JDBC 模板的基本使用

@Test
public void demo1(){
   DriverManagerDataSource dataSource = new DriverManagerDataSource();
   dataSource.setDriverClassName("com.mysql.jdbc.Driver");
   dataSource.setUrl("jdbc:mysql:///spring_day03");
   dataSource.setUsername("root");
   dataSource.setPassword("123");
   
   JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
   jdbcTemplate.update("insert into account values (null,?,?)", " 会希",10000d);
}

连接池

Spring 内置连接池

“org.springframework.jdbc.datasource.DriverManagerDataSource”:

  1. 配置内置连接池:
    <!-- 配置Spring 的内置连接池-->
    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
       <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
       <property name="url" value="jdbc:mysql:///spring_day02"/>
       <property name="username" value="root"/>
       <property name="password" value="123"/>
    </bean>
    
  2. 配置jdbcTemplate模板:
    <!-- 配置JDBC 模板-->
    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
       <property name="dataSource" ref="dataSource"/>
    </bean>
    
  3. 编写测试类:
    @RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration("classpath:applicationContext.xml")
    public class SpringDemo2 {
       @Resource(name="jdbcTemplate")
       private JdbcTemplate jdbcTemplate;
       
       @Test
       public void demo1(){
       jdbcTemplate.update("insert into account values (null,?,?)", "eijux",10000d);
       }
    }
    

DBCP 连接池

  1. 引入dbcp 连接池的jar 包:
    Dbcp 连接池的jar 包.jpg
  2. 配置连接池:
    <!-- 配置DBCP 连接池-->
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
       <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
       <property name="url" value="jdbc:mysql:///spring_day02"/>
       <property name="username" value="root"/>
       <property name="password" value="123"/>
    </bean>
    

c3p0 连接池

  1. 引入相应的jar 包:
    C3p0 连接池的jar 包.jpg
  2. # 配置连接池:
    <!-- 配置C3P0 连接池-->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
       <property name="driverClass" value="com.mysql.jdbc.Driver"/>
       <property name="jdbcUrl" value="jdbc:mysql:///spring_day02"/>
       <property name="user" value="root"/>
       <property name="password" value="123"/>
    </bean>
    

jdbcTemplate

配置

操作

事务