Spring中使用JDBC做的增删改查
来源:互联网 发布:maya软件破解版 编辑:程序博客网 时间:2024/06/15 22:12
Spring中使用JDBC做的增删改查
- 博客分类:
- spring
JDBCSpringBeanSQLDAO
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参数-->
- <span style="background-color: #ffff00;"><span style="background-color: #f9b3ec;"><span style="background-color: #f9b3ec;"><span style="background-color: #ff0000;"><bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
- <constructor-arg ref="comboPooledDataSource" />
- </bean></span></span></span></span>
- <!-- 设置业务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>
- <span style="background-color: #ff0000;"><!-- 配置jdbcTemplate的bean ,设置它是为了设置业务bean中的jdbcTemplate参数-->
- <bean id="namedParameterJdbcTemplate" class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate">
- <constructor-arg ref="comboPooledDataSource"/>
- </bean></span>
- <!-- 设置业务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>
- <span style="background-color: #ff0000;"><!-- 配置jdbcTemplate的bean ,设置它是为了设置业务bean中的jdbcTemplate参数-->
- <bean id="simpleJdbcTemplate" class="org.springframework.jdbc.core.simple.SimpleJdbcTemplate">
- <constructor-arg ref="comboPooledDataSource"/>
- </bean></span>
- <!-- 设置业务bean -->
- <bean id="userDaoImpl" class="cn.csdn.dao.UserDaoImpl3">
- <property name="sjt" ref="simpleJdbcTemplate" />
- </bean>
Spring+Hibernate两种方法实现增删改查 | AOP中的注解自动装配通知
- 2011-05-08 20:21
- 浏览 10477
- 评论(0)
- 分类:企业架构
- 查看更多
阅读全文
0 0
- Spring中使用JDBC做的增删改查
- Spring中使用JDBC做的增删改查
- Spring中使用JDBC做的增删改查
- jdbc的增删改查的使用
- JDBC中增删改查
- jdbc的增删改查
- JDBC的增删改查
- jdbc的增删改查
- JDBC的增删改查
- Java中使用JDBC实现增删改查
- jdbc之使用占位符的增删改查
- 使用JDBC实现对数据的增删改查
- 使用java原生jdbc完成数据的增删改查
- JAVA之操作数据库增删改查-JDBC的使用
- java中jdbc增删改查
- 使用jdbc实现增删改查示例
- Oracle使用JDBC进行增删改查
- Jdbc 增删改查
- 每天一个linux命令(9):touch 命令
- Spark性能调优之代码方面的优化
- sublime中设置编程语言,并直接在sublime中运行,以及修改运行快捷键
- 每天进步一点点——Linux中的文件描述符与打开文件之间的关系
- 289. Game of Life
- Spring中使用JDBC做的增删改查
- volley框架解析
- 谈谈PostCSS
- 将本地repo镜像推送到远程gerrit服务器
- 微信小程序 GMT+0800 (中国标准时间) WXSS 文件编译错误
- HTML语言制作表格
- 极大似然估计 EM算法
- Find the top5 similar issues in bugzilla system
- 以太币还能挖多久