spring来了-05-JDBC

概述

  1. Spring对C3P0连接池的支持很完善
  2. Spring对jdbc提供了JdbcTemplate,来简化jdbc操作, JdbcTemplate模板工具类,类似于DbUtils组件

JDBC:

 1 package cn.fuyi.h_jdbc;
 2
 3 import java.sql.Connection;
 4 import java.sql.DriverManager;
 5 import java.sql.PreparedStatement;
 6
 7 public class UserDao {
 8
 9     public void save() {
10         try {
11             String sql = "insert into dept(dname) values(?)";
12             Class.forName("com.mysql.jdbc.Driver");
13             Connection connection = DriverManager
14                     .getConnection("jdbc:mysql:///mydb", "root", "950613");
15             PreparedStatement pstmt = connection.prepareStatement(sql);
16             pstmt.setString(1, "test");
17             pstmt.execute();
18
19             pstmt.close();
20             connection.close();
21         } catch (Exception e) {
22             e.printStackTrace();
23         }
24     }
25 }

使用DataSource

 1 package cn.fuyi.h_jdbc;
 2
 3 import java.sql.Connection;
 4 import java.sql.DriverManager;
 5 import java.sql.PreparedStatement;
 6
 7 import javax.sql.DataSource;
 8
 9 public class UserDao {
10
11     private DataSource dataSource;
12     public void setDataSource(DataSource dataSource) {
13         this.dataSource = dataSource;
14     }
15
16     public void save() {
17         try {
18             String sql = "insert into dept(dname) values(?)";
19             Class.forName("com.mysql.jdbc.Driver");
20             Connection connection = dataSource.getConnection();
21             PreparedStatement pstmt = connection.prepareStatement(sql);
22             pstmt.setString(1, "test1111");
23             pstmt.execute();
24
25             pstmt.close();
26             connection.close();
27         } catch (Exception e) {
28             e.printStackTrace();
29         }
30     }
31 }
 1     <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
 2         <property name="jdbcUrl" value="jdbc:mysql:///mydb"></property>
 3         <property name="driverClass" value="com.mysql.jdbc.Driver"></property>
 4         <property name="user" value="root"></property>
 5         <property name="password" value="950613"></property>
 6         <property name="initialPoolSize" value="5"></property>
 7         <property name="maxPoolSize" value="10"></property>
 8     </bean>
 9
10     <bean id="userDao" class="cn.fuyi.h_jdbc.UserDao">
11         <property name="dataSource" ref="dataSource"></property>
12     </bean>

使用JdbcTemplate:

  1)引入jar文件

    spring-jdbc-3.2.5.RELEASE.jar            jdbc支持包

    spring-tx-3.2.5.RELEASE.jar               事务包

    c3p0-0.9.1.2.jar                                c3p0
    mysql-connector-java-5.1.12-bin.jar    驱动类

 1 package cn.fuyi.h_jdbc;
 2
 3 import java.sql.Connection;
 4 import java.sql.DriverManager;
 5 import java.sql.PreparedStatement;
 6
 7 import javax.sql.DataSource;
 8
 9 import org.springframework.jdbc.core.JdbcTemplate;
10
11 public class UserDao {
12
13     private DataSource dataSource;
14     public void setDataSource(DataSource dataSource) {
15         this.dataSource = dataSource;
16     }
17
18     public void save1() {
19         String sql = "insert into dept(dname) values(‘test123‘)";
20         JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
21         jdbcTemplate.execute(sql);
22     }
23 }
 1 <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
 2         <property name="jdbcUrl" value="jdbc:mysql:///mydb"></property>
 3         <property name="driverClass" value="com.mysql.jdbc.Driver"></property>
 4         <property name="user" value="root"></property>
 5         <property name="password" value="950613"></property>
 6         <property name="initialPoolSize" value="5"></property>
 7         <property name="maxPoolSize" value="10"></property>
 8     </bean>
 9
10     <bean id="userDao" class="cn.fuyi.h_jdbc.UserDao">
11         <property name="dataSource" ref="dataSource"></property>
12     </bean>
时间: 2024-12-26 16:35:46

spring来了-05-JDBC的相关文章

java Spring使用配置文件读取jdbc.properties

Spring使用配置文件读取jdbc.properties 在beans.xml中加入两个必须的bean [html]<bean id="propertyConfigurer"     class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">      <property name="location" value="

Spring boot (11) tomcat jdbc连接池

默认连接池 tomcat jdbc是从tomcat7开始推出的一个连接池,相比老的dbcp连接池要优秀很多,spring boot将tomcat jdbc作为默认的连接池,只要在pom.xml中引入了spring boot的jdbc组件,就会自动引入tomcat jdbc连接池. 默认参数 以下是org.apache.tomcat.jdbc.pool.PoolProperties源码,这是tomcat jdbc连接池的默认初始参数.这个类实现了一个接口PoolConfiguration,查看这个

使用Spring 框架来操作jdbc

一.为什么使用Spring 框架来操作jdbc呢? Spring 框架中封装了JdbcTemplate对象,能够有效简化jdbc的操作 二.如何使用呢? 第一步:先导入Spring 相关的jar包,一共有5个: 1.commons-logging-1.2.jar 2.spring-beans-5.0.0.RELEASE.jar 3.spring-core-5.0.0.RELEASE.jar 4.spring-jdbc-5.0.0.RELEASE.jar 5.spring-tx-5.0.0.REL

Spring学习5-Spring整合JDBC及其事务处理(注解方式)

一.整合的步骤   1.步骤一:首先要获得DataSource连接池(推荐使用B方式): 要对数据库执行任何的JDBC操作,需要有一个Connection.在Spring中,Connection对象是通过DataSource获得的. 有几种方法可以得到DataSource, 其中一种方法是使用Spring提供的轻量级 org.springframework.jdbc.datasource.DriverManagerDataSource,第二种方法是使用 org.apache.commons.db

Spring学习之对JDBC的支持

JdbcTemplate简介 为了使 JDBC 更加易于使用, Spring 在 JDBC API 上定义了一个抽象层, 以此建立一个 JDBC 存取框架. 作为 Spring JDBC 框架的核心, JDBC 模板的设计目的是为不同类型的 JDBC 操作提供模板方法. 每个模板方法都能控制整个过程, 并允许覆盖过程中的特定任务. 通过这种方式, 可以在尽可能保留灵活性的情况下, 将数据库存取的工作量降到最低. JdbcTemplate类被设计成为线程安全的, 所以可以再 IOC 容器中声明它的

整合多个maven工程时Spring配置加载JDBC问题

问题叙述: 两个工程都通过JDBC访问mysql数据库,各自运行OK, 但合并成一个maven工程后,发现前一个工程访问数据库异常,貌似拿不到自己的DAO. 解决办法: 发现这两个工程的xml配置中,有个共同的bean, bean id 为 sqlMapClient,因为spring是把所有配置文件都一起加载的,所以后面的sqlMapClient,替换掉了前面的 sqlMapClient,又由于前后两个工程访问的mysql的库和表都不同,导致前面工程的jdbc访问不到mysql库,故报错.解决办

Spring总结——AOP、JDBC和事务的总结

1.上一次总结了 Spring 的核心三大组件(Core,Beans,Context),今天总结的 AOP.JDBC和事务都可以看成是核心三大组件的应用. 其中 Spring 的事务管理又以 AOP 为基础的声明式事务管理,对 JDBC 数据操作进行了补充. 2.在学习 AOP 的时候,需要搞明白的几个问题. (1)AOP 是以动态代理为基础的,所以在学习 AOP 之前,首先对动态代理有深刻的理解. (2)AOP 和切面是什么关系. (3)AOP 中概念比较多,明白每个名词的含义:切面.增强.代

Spring 框架基础(05):事务管理机制,和实现方式

本文源码:GitHub·点这里 || GitEE·点这里 一.Spring事务管理 1.基础描述 Spring事务管理的本质就是封装了数据库对事务支持的操作,使用JDBC的事务管理机制,就是利用java.sql.Connection对象完成对事务的提交和回滚. Connection conn = DriverManager.getConnection(); try { // 自动提交设置为false conn.setAutoCommit(false); // 执行增删改查操作 // 当操作成功后

Spring学习总结 05 JPA

一 JPA介绍 1 JPA JPA Java Persistence API,JPA吸收了很多ORM框架的持久化思想,是在ORM框架的基础上,抽象出来的一层规范.使用JPA你可以随时更换底层支持JPA的ORM框架,而不需要与ORM绑死,同时Spring对JPA的支持,使得JPA写出的代码很精简. 2 环境准备 1 数据库和表 建立数据库和表所用的脚本如下 create database myDb; use myDb; DROP TABLE IF EXISTS `student`; CREATE

05.JDBC编程之处理存储过程&amp;Transaction

转载请标明出处:http://blog.csdn.net/u012637501 一.存储过程处理 1.存储过程 概念类似与函数,就是把一段代码封装起来.当要执行这一段代码的时候,可以通过调用该存储过程来实现.在封装的语句体里面,可以用if/else.case.while等控制结构(参数.控制结构.循环),可以进行sql编程. (1)sql语法  a.查看现有的存储过程 show procedure status \G b.创建存储过程 delimiter $    //修改语句结束符 creat