用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 ...
随机推荐
- struts 多文件上传 annotation注解(零配置)+ ajaxfileupload + 异步 版本
[本文简介] struts 多文件上传.基于”零配置“+"ajaxfileupload" 的一个简单例子. [导入依赖jar包] jquery-1.7.2.js : http:// ...
- (4.1)SQL Server Browser 与动态端口
转自:http://blog.51cto.com/jimshu/1120295 一.启用TCP端口 1.启用TCP/IP协议 打开SSCM(SQL Server Configuration Manag ...
- xlrd、xlwt操作execl表格
在python中操作execl进行数据读写的时候,可以使用xlrd进行文件的读取,使用xlwt将数据写入execl中. 1.xlrd xlwt用来读取execl中的数据,常见的用法如下. (1)打开e ...
- Java集合(3):Vector && Stack
一.Vector介绍 Vector可以实现可增长的动态对象数组.与数组一样,它包含可以使用整数索引进行访问的组件.不过,Vector的大小是可以增加或者减小的,以便适应创建Vector后进行添加或者删 ...
- 通过自动回复机器人学Mybatis:搭建核心架构
imooc视频学习笔记 ----> URL:http://www.imooc.com/learn/154 MessageDao.java package com.imooc.dao; impor ...
- React Native导航器之react-navigation使用
在上一节Navigation组件,我们使用系统提供的导航组件做了一个跳转的例子,不过其实战能力不强,这里推荐一个超牛逼的第三方库:react-navigation.在讲react-navigation ...
- 华为交换机S5700系列配置镜像端口(M:N)
配置本地端口镜像组网图(M:N) 组网需求 如图所示,某公司研发一部.研发二部和市场部通过Switch与外部Internet通信,监控设备Server1.Server2与Switch直连. 现在希望将 ...
- Spring注解(事务)
spring操作数据库 jdbc <!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc --> & ...
- tomcat深入学习—权限篇
如果想给一个应用程序配置权限,可能需要的代码量很多,但你知道吗,仅通过配置tomcat,就能有同样的效果(为一个web应用添加了权限) 效果:打开http://localhost:8080/searc ...
- 分布式技术 webapi 路由追加html、aspx、shtml 适用于 对接 安卓、IOS
首先是这样,在对接安卓和IOS或者是第三方调用的接口,我需要在服务端返回一个带.html/.aspx这样后缀的接口. 例子如下图:http://localhost:64131/api/UsersInf ...