用Spring和c3p0工具简单的实现增删改查
1.导入Spring和c3p0的jar包

2.配置beans.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd"> <!-- 配置链接池 -->
<bean class="com.mchange.v2.c3p0.ComboPooledDataSource" id="c">
<property name="driverClass" value="com.mysql.jdbc.Driver"></property>
<property name="jdbcUrl" value="jdbc:mysql://127.0.0.1:3306/mydb?characterEncoding=GBK"></property>
<property name="user" value="root"></property>
<property name="password" value=""></property> <!--依次为数据库连接池最大连接数、最小连接数、初始连接数-->
<property name="maxPoolSize" value="15"></property>
<property name="minPoolSize" value="5"></property>
<property name="initialPoolSize" value="5"></property> </bean> </beans>
3.编写代码
实体类Nation
package com.itnba.maya.test;
public class Nation {
private String code;
private String name;
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Nation [code=" + code + ", name=" + name + "]";
}
}
main函数
修改:
package com.itnba.maya.test; import java.sql.Connection;import javax.sql.DataSource;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.jdbc.core.JdbcTemplate;import com.mchange.v2.c3p0.ComboPooledDataSource; public class Test {
public static void main(String[] args) throws Exception{
ApplicationContext context=new ClassPathXmlApplicationContext("beans.xml");
DataSource ds= (DataSource) context.getBean("c"); JdbcTemplate j =new JdbcTemplate();//造一个工具
j.setDataSource(ds);
String sql="update nation set name=? where code=?";
j.update(sql, "维吾尔族", "n001");
}
}

单个数据更新
package com.itnba.maya.test; import java.sql.Connection;
import javax.sql.DataSource;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.jdbc.core.JdbcTemplate; import com.mchange.v2.c3p0.ComboPooledDataSource; public class Test {
public static void main(String[] args) throws Exception{
ApplicationContext context=new ClassPathXmlApplicationContext("beans.xml");
DataSource ds= (DataSource) context.getBean("c"); JdbcTemplate j =new JdbcTemplate();//造一个工具
j.setDataSource(ds); String sql = "insert into nation values(?,?)";
j.update(sql, "n006","侗族");
}
}

多个数据更新
package com.itnba.maya.test; import java.sql.Connection;
import java.util.*;
import javax.sql.DataSource;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.jdbc.core.JdbcTemplate; import com.mchange.v2.c3p0.ComboPooledDataSource; public class Test {
public static void main(String[] args) throws Exception{
ApplicationContext context=new ClassPathXmlApplicationContext("beans.xml");
DataSource ds= (DataSource) context.getBean("c"); JdbcTemplate j =new JdbcTemplate();//造一个工具
j.setDataSource(ds); String sql = "insert into nation values(?,?)";
//批量更,用里面是object[]的集合
List<Object[]> batchArgs=new ArrayList<Object[]>();
batchArgs.add(new Object[]{"n007","蒙古族"});
batchArgs.add(new Object[]{"n008","朝鲜族"});
j.batchUpdate(sql, batchArgs);
}
}

查询单行:
package com.itnba.maya.test; import java.sql.Connection;
import javax.sql.DataSource; import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper; import com.mchange.v2.c3p0.ComboPooledDataSource; public class Test {
public static void main(String[] args) throws Exception{
ApplicationContext context=new ClassPathXmlApplicationContext("beans.xml");
DataSource ds= (DataSource) context.getBean("c"); JdbcTemplate j =new JdbcTemplate();//造一个工具
j.setDataSource(ds);
//查询单个
String sql="select * from nation where code=?";
RowMapper<Nation> rowMapper= new BeanPropertyRowMapper<Nation>(Nation.class);
Nation nation = j.queryForObject(sql, rowMapper,"n001");
System.out.println(nation);
}
}

查询多行:
package com.itnba.maya.test; import java.sql.Connection;
import java.util.List;
import javax.sql.DataSource;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper; import com.mchange.v2.c3p0.ComboPooledDataSource; public class Test {
public static void main(String[] args) throws Exception{
ApplicationContext context=new ClassPathXmlApplicationContext("beans.xml");
DataSource ds= (DataSource) context.getBean("c"); JdbcTemplate j =new JdbcTemplate();//造一个工具
j.setDataSource(ds);
//查询多行
String sql="select * from nation";
RowMapper<Nation> rowMapper= new BeanPropertyRowMapper<Nation>(Nation.class);
List<Nation> list=j.query(sql, rowMapper);
for(Nation a:list){
System.out.println(a);
}
}
}

查询统计函数
package com.itnba.maya.test;
import java.sql.Connection;
import javax.sql.DataSource;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;import org.springframework.jdbc.core.JdbcTemplate;import com.mchange.v2.c3p0.ComboPooledDataSource; public class Test {
public static void main(String[] args) throws Exception{
ApplicationContext context=new ClassPathXmlApplicationContext("beans.xml");
DataSource ds= (DataSource) context.getBean("c"); JdbcTemplate j =new JdbcTemplate();//造一个工具
j.setDataSource(ds);
//查询统计函数
String sql="select count(*) from nation ";
long l=j.queryForObject(sql, Long.class);
System.out.println(l);
}
}

不用?用 : 的方式查询
package com.itnba.maya.test; import java.sql.Connection;
import java.util.*; import javax.sql.DataSource; import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate; import com.mchange.v2.c3p0.ComboPooledDataSource; public class Test {
public static void main(String[] args) throws Exception{
ApplicationContext context=new ClassPathXmlApplicationContext("beans.xml");
DataSource ds= (DataSource) context.getBean("c"); NamedParameterJdbcTemplate j=new NamedParameterJdbcTemplate(ds);
String sql="select * from nation where code=:a";
Map<String, String> paramSource = new HashMap<String,String>();
paramSource.put("a", "n001");
RowMapper<Nation> rowMapper= new BeanPropertyRowMapper<Nation>(Nation.class);
Nation nation = j.queryForObject(sql, paramSource, rowMapper);
System.out.println(nation);
} }

用Spring和c3p0工具简单的实现增删改查的更多相关文章
- 最简单的mybatis增删改查样例
最简单的mybatis增删改查样例 Book.java package com.bookstore.app; import java.io.Serializable; public class Boo ...
- salesforce 零基础开发入门学习(六)简单的数据增删改查页面的构建
VisualForce封装了很多的标签用来进行页面设计,本篇主要讲述简单的页面增删改查.使用的内容和设计到前台页面使用的标签相对简单,如果需要深入了解VF相关知识以及标签, 可以通过以下链接查看或下载 ...
- 【Mybatis】简单的mybatis增删改查模板
简单的mybatis增删改查模板: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE map ...
- 【转载】salesforce 零基础开发入门学习(六)简单的数据增删改查页面的构建
salesforce 零基础开发入门学习(六)简单的数据增删改查页面的构建 VisualForce封装了很多的标签用来进行页面设计,本篇主要讲述简单的页面增删改查.使用的内容和设计到前台页面使用的 ...
- SQL简单语句(增删改查)
简单的SQL语句增删改查操作 说明: 在mysql里面亲测结果正确 用到的表(学生表:studnets) 1.创建一个学生表,(学号,姓名,性别,家庭住址) mysql> create t ...
- KbmMemTable的简单应用(增删改查示例)
//kbmMemTable unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graph ...
- Asp.net简单三层+Sqllite 增删改查
新建项目à新建一个空白解决方案 在Model新建一个实体类 using System; using System.Collections.Generic; using System.Linq; usi ...
- JDBC工具类 访问数据库 增删改查CRUD的通用方法
1 package com.zmh.util; 2 3 import java.sql.*; 4 import java.util.ArrayList; 5 import java.util.Hash ...
- ASP.net+SQL server2008简单的数据库增删改查 VS2012
工具:VS2012 数据库:SQL server 简单说明:根据老师上课给的代码,进行了简单的改正适用于VS2012环境,包括注册.登录.查询.修改.删除功能,多数参考了网上的代码 百度云源代码连接t ...
随机推荐
- javascript把RGB指定颜色转换成十六进制颜色(Converting R,G,B values to HTML hex notation)
Prologue 看见一篇非常好的外国文章,Making annoying rainbows in javascript,事实上我当时非常想把它翻译下来的,可是对于一个连六级都没过的人确实有点难度,一 ...
- Hbase 学习笔记4----原理
MapReduce 中如何处理HBase中的数据?如何读取HBase数据给Map?如何将结果存储到HBase中? Mapper类:包括一个内部类(Context)和四个方法(setup,map,cle ...
- HTML初识(Day46)
一.HTML初识 1.web服务本质 import socket def main(): sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM ...
- Django日志
Django日志 简单的Django日志 在settings里配置,会在屏幕输出日志 LOGGING = { 'version': 1, 'disable_existing_loggers': Fal ...
- 使用PHP模拟post提交数据
使用PHP模拟post提交数据 分类: PHP LAMP 2013-04-13 12:03 3954人阅读 评论(0) 收藏 举报 CurlsocketPHP 这也是个老生常谈的话题了,上午花了点时间 ...
- Java并发之——线程池
一. 线程池介绍 1.1 简介 线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务.线程池的基本思想还是一种对象池的思想,开辟一块内存空间,里面存放了众多(未死亡 ...
- Top 10 Uses For A Message Queue
We’ve been working with, building, and evangelising message queues for the last year, and it’s no se ...
- Java程序设计基础
Java程序设计基础
- HBase在数据统计应用中的使用心得
转载自:http://www.cnblogs.com/panfeng412/archive/2011/11/19/2254921.html 1. 数据统计的需求 互联网上对于数据的统计,一个重要的应用 ...
- input-file 部分手机不能拍照问题
曾经遇到一个需求,用户拍身份证上传验证, 然后我卡在了拍照这个点上. 最初采用的是微信的 api,wx.chooseImage, 但随后发现,返回的是一种只有微信才能预览的 url 格式, 但验证是要 ...