- 浏览: 116417 次
- 性别:
- 来自: 北京
最新评论
-
龍行天下:
大神你好,请教你,ajax怎么访问数据库并返回list对象,对 ...
菜鸟分享ajax基础 -
xhdyw1225:
老板,可以提供源码下载吗? 初学这玩意,有调通的源码学习方 ...
Spring+Hibernate两种方法实现增删改查 -
hongmeikaile:
我总结好长时间,都是一些基础的知识,特别适合ORACLE初学者 ...
超详细SQL常用函数总结 -
hongmeikaile:
自己先评价一下噢!哈哈。。。继续努力!
jQuery基础知识总结(二) -
hongmeikaile:
其实最好的学习参考还是API,目前的最新版本是:jQueryA ...
jQuery基础知识总结(二)
Spring中使用JDBC做的增删改查
有三种方式使用JDBC。
1、使用JdbcTemplate类,实现使用JDBC ,参数是用object数组传递的
业务类:
public class UserDaoImpl implements UserDao{ // 定义一个Jdbc private JdbcTemplate jt; // 必须有set 方法,因为是通过set方法装配的 public void setJt(JdbcTemplate jt) { this.jt = jt; } @Override public void delete(int id) { // TODO Auto-generated method stub String sql="delete from user where id="+id; int temp=this.jt.update(sql); if(temp>0){ System.out.println("删除成功!"); }else{ System.out.println("删除失败!"); } } @Override public void insert(User entity) { // TODO Auto-generated method stub String sql="insert into user(name,age,sex) values(?,?,?)"; Object obj[]={entity.getName(),entity.getAge(),entity.getSex()}; int temp=this.jt.update(sql,obj); if(temp>0){ System.out.println("插入成功!"); }else{ System.out.println("插入失败!"); } } @Override public List<User> selectAll() { String sql="select * from user"; List list=this.jt.query(sql,new RowMapper(){ @Override public Object mapRow(ResultSet rs, int row) throws SQLException { // TODO Auto-generated method stub User user=new User(); user.setId(rs.getInt("id")); user.setName(rs.getString("name")); user.setAge(rs.getInt("age")); user.setSex(rs.getString("sex")); return user; } }); System.out.println(list.size()); // TODO Auto-generated method stub return list; } @Override public User selectById(int id) { // TODO Auto-generated method stub String sql="select id,name,age,sex from user where id="+id; User user=(User)jt.queryForObject(sql, new RowMapper(){ @Override public Object mapRow(ResultSet rs, int arg1) throws SQLException { // TODO Auto-generated method stub User user=new User(); user.setId(rs.getInt("id")); user.setName(rs.getString("name")); user.setAge(rs.getInt("age")); user.setSex(rs.getString("sex")); return user; } }); return user; } @Override public void update(User entity) { // TODO Auto-generated method stub String sql="update user set name=?,age=?,sex=? where id=?"; Object obj[]={entity.getName(),entity.getAge(),entity.getSex(),entity.getId()}; int temp=jt.update(sql,obj); if(temp>0){ System.out.println("更新成功!"); }else{ System.out.println("更新失败!"); } } }
Xml中的部分代码:
<!-- 分散配置 -->
<context:property-placeholder location="jdbc.properties" />
<!-- c3p0的数据源,设置它是为了配置jbdcTemplate-->
<bean id="comboPooledDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<!-- 驱动程序 -->
<property name="driverClass">
<value>${driverClass}</value>
</property>
<!-- 用户名 -->
<property name="user">
<value>${username}</value>
</property>
<!-- 密码 -->
<property name="password">
<value>${password}</value>
</property>
<!-- url -->
<property name="jdbcUrl">
<value>${url}</value>
</property>
<!-- 最大池数 -->
<property name="maxPoolSize">
<value>${c3p0.pool.max}</value>
</property>
<!-- 最小池数 -->
<property name="minPoolSize">
<value>${c3p0.pool.min}</value>
</property>
<!-- 初始化的池数 -->
<property name="initialPoolSize">
<value>${c3p0.pool.init}</value>
</property>
</bean>
<!-- 配置jdbcTemplate的bean ,设置它是为了设置业务bean中的jdbcTemplate参数-->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<constructor-arg ref="comboPooledDataSource" />
</bean>
<!-- 设置业务bean -->
<bean id="userDaoImpl" class="cn.csdn.dao.UserDaoImpl">
<property name="jt" ref="jdbcTemplate" />
</bean>
2、使用NamedParameterJdbcTemplate类,实现JDBC,参数是用Map集合传递的
业务类:
public class UserDaoImpl2 implements UserDao{ // 定义一个Jdbc private NamedParameterJdbcTemplate npjt; // 必须有set 方法,因为NamedParameterJdbcTemplate类是用set方法加载的 public void setNpjt(NamedParameterJdbcTemplate npjt){ this.npjt=npjt; } @Override public void delete(int id) { // TODO Auto-generated method stub String sql="delete from user where id=:id"; Map<String,Object> map=new HashMap<String,Object>(); map.put("id", id); int temp=this.npjt.update(sql,map); if(temp>0){ System.out.println("删除成功!"); }else{ System.out.println("删除失败!"); } } @Override public void insert(User entity) { // TODO Auto-generated method stub String sql="insert into user(name,age,sex) values(:name,:age,:sex)"; Map<String,Object> map=new HashMap<String,Object>(); map.put("name", entity.getName()); map.put("age", entity.getAge()); map.put("sex", entity.getSex()); int temp=npjt.update(sql, map); if(temp>0){ System.out.println("插入成功!"); }else{ System.out.println("插入失败!"); } } // // // @Override public List<User> selectAll() { String sql="select * from user"; // List list=this.npjt.queryForList(sql, new HashMap()); List list=npjt.query(sql, new HashMap(),new RowMapper(){ @Override public Object mapRow(ResultSet rs, int arg1) throws SQLException { // TODO Auto-generated method stub User user=new User(); user.setId(rs.getInt("id")); user.setName(rs.getString("name")); user.setAge(rs.getInt("age")); user.setSex(rs.getString("sex")); return user; } }); System.out.println(list.size()); return list; } @Override public User selectById(int id) { // TODO Auto-generated method stub String sql="select id,name,age,sex from user where id=1"; Map<String,Object> map=new HashMap<String,Object>(); map.put("id", id); User user=(User)npjt.queryForObject(sql, map, new RowMapper(){ @Override public Object mapRow(ResultSet rs, int arg1) throws SQLException { User user=new User(); user.setId(rs.getInt("id")); user.setName(rs.getString("name")); user.setAge(rs.getInt("age")); user.setSex(rs.getString("sex")); return user; } }); return user; } // @Override public void update(User entity) { // TODO Auto-generated method stub String sql="update user set name=:name,age=:age,sex=:sex where id=:id"; Map<String,Object> map=new HashMap<String,Object>(); map.put("name", entity.getName()); map.put("age", entity.getAge()); map.put("sex", entity.getSex()); map.put("id", entity.getId()); int temp=npjt.update(sql, map); if(temp>0){ System.out.println("更新成功!"); }else{ System.out.println("更新失败!"); } } }
xml中的代码:
<!-- 分散配置 -->
<context:property-placeholder location="jdbc.properties" />
<!-- c3p0的数据源,设置它是为了配置jbdcTemplate-->
<bean id="comboPooledDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<!-- 驱动程序 -->
<property name="driverClass">
<value>${driverClass}</value>
</property>
<!-- 用户名 -->
<property name="user">
<value>${username}</value>
</property>
<!-- 密码 -->
<property name="password">
<value>${password}</value>
</property>
<!-- url -->
<property name="jdbcUrl">
<value>${url}</value>
</property>
<!-- 最大池数 -->
<property name="maxPoolSize">
<value>${c3p0.pool.max}</value>
</property>
<!-- 最小池数 -->
<property name="minPoolSize">
<value>${c3p0.pool.min}</value>
</property>
<!-- 初始化的池数 -->
<property name="initialPoolSize">
<value>${c3p0.pool.init}</value>
</property>
</bean>
<!-- 配置jdbcTemplate的bean ,设置它是为了设置业务bean中的jdbcTemplate参数-->
<bean id="namedParameterJdbcTemplate" class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate">
<constructor-arg ref="comboPooledDataSource"/>
</bean>
<!-- 设置业务bean -->
<bean id="userDaoImpl" class="cn.csdn.dao.UserDaoImpl2">
<property name="npjt" ref="namedParameterJdbcTemplate" />
</bean>
3、使用SimpleJdbcTemplate类,实现JDBC,参数是用可变参数传递的
业务类:
public class UserDaoImpl3 implements UserDao{ // 定义一个Jdbc private SimpleJdbcTemplate sjt; // 必须有set 方法 public void setSjt(SimpleJdbcTemplate sjt){ this.sjt=sjt; } @Override public void delete(int id) { // TODO Auto-generated method stub String sql="delete from user where id=?"; int temp=this.sjt.update(sql, id); if(temp>0){ System.out.println("删除成功!"); }else{ System.out.println("删除失败!"); } } @Override public void insert(User entity) { // TODO Auto-generated method stub String sql="insert into user(name,age,sex) values(?,?,?)"; int temp=sjt.update(sql,entity.getName(),entity.getAge(),entity.getSex()); if(temp>0){ System.out.println("插入成功!"); }else{ System.out.println("插入失败!"); } } @Override public List<User> selectAll() { String sql="select * from user"; List list=this.sjt.queryForList(sql); System.out.println(list.size()); return list; } @Override public User selectById(int id) { // TODO Auto-generated method stub String sql="select id,name,age,sex from user where id=?"; User user=(User) sjt.queryForObject(sql, new ParameterizedRowMapper() { @Override public Object mapRow(ResultSet rs, int arg1) throws SQLException { User user=new User(); user.setId(rs.getInt("id")); user.setName(rs.getString("name")); user.setAge(rs.getInt("age")); user.setSex(rs.getString("sex")); return user; } }, id); return user; } @Override public void update(User entity) { // TODO Auto-generated method stub /**第一种方法*/ // String sql="update user set name=?,age=?,sex=? where id=?"; // int temp=sjt.update(sql, entity.getName(),entity.getAge(),entity.getSex(),entity.getId()); /**第二种方法*/ String sql="update user set name=:name,age=:age,sex=:sex where id=:id"; Map<String,Object> map=new HashMap<String,Object>(); map.put("name", entity.getName()); map.put("age", entity.getAge()); map.put("sex", entity.getSex()); map.put("id", entity.getId()); int temp=sjt.update(sql, map); if(temp>0){ System.out.println("更新成功!"); }else{ System.out.println("更新失败!"); } } }
xml中的部分代码:
<!-- 分散配置 -->
<context:property-placeholder location="jdbc.properties" />
<!-- c3p0的数据源,设置它是为了配置jbdcTemplate-->
<bean id="comboPooledDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<!-- 驱动程序 -->
<property name="driverClass">
<value>${driverClass}</value>
</property>
<!-- 用户名 -->
<property name="user">
<value>${username}</value>
</property>
<!-- 密码 -->
<property name="password">
<value>${password}</value>
</property>
<!-- url -->
<property name="jdbcUrl">
<value>${url}</value>
</property>
<!-- 最大池数 -->
<property name="maxPoolSize">
<value>${c3p0.pool.max}</value>
</property>
<!-- 最小池数 -->
<property name="minPoolSize">
<value>${c3p0.pool.min}</value>
</property>
<!-- 初始化的池数 -->
<property name="initialPoolSize">
<value>${c3p0.pool.init}</value>
</property>
</bean>
<!-- 配置jdbcTemplate的bean ,设置它是为了设置业务bean中的jdbcTemplate参数-->
<bean id="simpleJdbcTemplate" class="org.springframework.jdbc.core.simple.SimpleJdbcTemplate">
<constructor-arg ref="comboPooledDataSource"/>
</bean>
<!-- 设置业务bean -->
<bean id="userDaoImpl" class="cn.csdn.dao.UserDaoImpl3">
<property name="sjt" ref="simpleJdbcTemplate" />
</bean>
发表评论
-
Spring+Hibernate两种方法实现增删改查
2011-05-08 20:59 10348Spring+Hibernate两种方法实现增删改查 ... -
AOP中的注解自动装配通知
2011-05-08 19:55 1410AOP中的注解自动装配通知 一、创 ... -
spring中的自定义编辑器
2011-05-08 19:45 1075spring中的自定义编辑器 一个 ... -
spring中引入资源文件
2011-05-08 09:15 2734spring配置文件中引入外部的properties的文件,x ... -
spring中的装配集合
2011-05-08 09:06 1706... -
Spring的自动装配
2011-05-08 09:00 1150... -
spring框架
2011-05-07 21:26 1085spring框架 Spring Framework ...
相关推荐
本文将详细介绍Spring使用JDBC进行增删改查的三种主要方法。 首先,让我们了解Spring JDBC的基础。Spring JDBC模块通过`JdbcTemplate`和`SimpleJdbcTemplate`类提供了数据库访问的抽象层,简化了数据库操作。这两种...
本项目聚焦于Spring、Spring MVC和JDBC Template的集成应用,用于实现数据库的增删改查操作。这是一套常见的企业级应用开发模式,对于理解和掌握Java Web开发至关重要。 首先,Spring框架是一个开源的应用框架,它...
Spring JDBC是Spring框架的一部分,它提供了一种抽象层,使得我们能够更方便地使用Java数据库连接(JDBC)来处理数据库操作,如增删改查(CRUD)。在这个主题下,我们将深入探讨Spring JDBC的核心概念、配置、以及...
在这个“Spring实现增删改查”的项目中,我们将深入探讨如何利用Spring框架来实现数据库操作的基础功能。 1. **依赖注入(DI)**:在Spring框架中,DI是一种设计模式,它允许对象之间的关系在运行时被外部容器管理...
综上所述,`springjdbc.zip`文件中的示例可能展示了如何在Spring环境中配置和使用JDBC,包括数据源配置、事务管理、以及使用`JdbcTemplate`执行增删改查操作的完整流程。通过学习这些示例,开发者可以更好地理解和...
Java Servlet+JDBC的增删改查是Java Web开发中的基础操作,主要涉及数据库交互以及服务器端处理。在这个过程中,IntelliJ IDEA作为强大的集成开发环境(IDE)扮演着核心角色,提供了一个高效的编程环境。下面我们将...
本文将深入探讨如何使用Spring4和Hibernate4实现数据库的增删改查操作,以及在这个过程中可能涉及的关键知识点。 首先,Spring4是一个全面的Java应用程序框架,它提供了一种方式来管理组件(或称为bean)之间的依赖...
再者,`JDBC(Java Database Connectivity)`是Java中用于与各种数据库交互的API,它提供了一套标准的接口和方法,使得Java程序可以连接、操作数据库,执行SQL语句,实现数据的增删改查。 在开发过程中,我们首先...
jsp + servlet + springboot + springJdbc + druid + mysql 员工列表 ID 姓名 性别 入职日期 所属部门 部门地址 操作 1 张三 男 1982-2-2 开发部 北京 修改|删除 2 李四 男 1982-2-2 开发部 北京 修改|删除
这个"struts2+spring+ibatis做的增删改查的小例子"是一个针对初学者的实践教程,旨在帮助学习者理解这三个框架如何协同工作以实现数据的CRUD(创建、读取、更新、删除)操作。 首先,Struts2作为MVC(Model-View-...
在本项目中,"springMVC+mybatis实现登录和增删改查"是一个典型的Web应用程序,它结合了SpringMVC、MyBatis两大主流框架,以及Bootstrap前端库,来构建一个用户友好的数据管理平台。以下是这个项目涉及到的主要知识...
本知识点将深入探讨如何利用SpringBoot实现数据库的增删改查操作。 一、SpringBoot入门 SpringBoot的核心理念是“约定优于配置”,它内置了Tomcat服务器,自动配置了Spring MVC、Spring Data JPA等模块,使得开发者...
在这个“Spring与Hibernate整合实例(博客用户登录增删改查)”中,我们将探讨如何将这两个强大的框架——Spring和Hibernate——结合起来,以实现一个博客系统的用户管理功能,包括用户登录、注册、信息修改以及数据...
在“spring的增删改查”这个主题中,我们将深入探讨Spring如何与Oracle数据库配合,实现数据的CRUD(Create、Read、Update、Delete)操作。 1. **Spring JDBC模块** Spring提供了JDBC模块,使得开发者可以避免繁琐...
在Oracle数据库中,增删改查操作会涉及到SQL语法,例如,INSERT INTO语句用于插入数据,SELECT语句用于查询数据,UPDATE语句用于更新数据,DELETE FROM语句用于删除数据。Oracle还提供了丰富的函数和特性,如索引、...
在Spring MVC项目中集成JDBC,可以方便地进行数据的增删改查操作,无需编写大量重复的SQL代码。下面我们将深入探讨这两个技术以及如何在实际项目中结合使用。 首先,Spring MVC的核心是DispatcherServlet,它作为...
在本项目中,我们主要探讨的是如何利用Spring Boot框架与Oracle 11g数据库...以上就是关于“Spring Boot增删改查”项目的主要知识点,通过这个小例子,我们可以深入理解Spring Boot与数据库集成的基本流程和最佳实践。
本教程将详细讲解如何使用JSP、Servlet和JDBC(Java Database Connectivity)原生实现对数据库的增删改查操作,无需依赖任何框架。这个项目适合Java Web开发初学者,通过学习,你可以了解到基础的数据库交互逻辑。 ...
在"Spring3.x MySql 增删改查"项目中,初学者可以学习如何配置Spring的JDBC支持。这通常涉及以下步骤: 1. 添加Spring JDBC的依赖到项目构建配置(如Maven或Gradle)。 2. 创建DataSource bean,配置数据库连接参数...
本示例项目"**Eclipse Maven SSM 增删改查示例**"旨在帮助开发者理解和实践这些技术的集成使用,实现数据的CRUD(Create、Read、Update、Delete)操作。接下来,我们将详细探讨这个项目中的关键知识点。 **1. ...