`
zhuzhiguosnail
  • 浏览: 107678 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Spring JDBC数据库操作类

阅读更多
1.JdbcTemplate
       在Spring中,JdbcTemplate是最常被使用的类,它为用户程序提供了许多便利的数据库操作方法,比如查询、更新等。JdbcTemplate是core包的核心类,它替我们完成了资源的创建及释放工作,从而简化了对JDBC的使用。
   1)执行SQL语句
        一旦获得一个DataSource和一个JdbcTemplate,我们就可以使用JdbcTemplate提供的丰富功能实现我们的操作。下面创建一张表:
         public void execute(){
               JdbcTemplate jdbc = new JdbcTemplate(dataSource);
               jdbc.execute("create table username(id integer,username  varchar(20),password varchar(20),email varchar(50))");
}

    2)执行单表查询
          比如返回一个汇总(count)结果或者从返回行结果中取得指定列的值,我们使用queryForInt()、queryForLong()或者queryForObject()方法。queryForObject方法用来将返回的JDBC类型对象转换成指定的Java对象,如下例:
          public int getCount(){
               JdbcTemplate jdbc = new JdbcTemplate(dataSource);
               return count=jdbc.queryForInt("select count(*)from user");
}
                public String getUsername(){
                    JdbcTemplate jdbc = new JdbcTemplate(dataSource);
                    return name=(String) jdbc.queryForObject("select name from username",String.class);
}

      3)执行条件查询
             在调用queryForObject()进行查询时,需要先使用回调方法创建一个RowMapper类型变量,在执行查询时输入该回调变量,并输入查询的参数数组,如下所示:
         public User findUser(long id){
              String sql="select id,username,password,email from user where id=?";
             RowMapper mapper = new RowMapper(){
                public Object mapRow(ResultSet rs,int rowNum)throws SQLException{
                    User user = new User();
                    user.setId(is.getLong("id"));
                    user.setUsername(rs.getString("username"));
                    user.setPassword(rs.getString("password"));
                    user.setEmail(rs.getString("email"));
                   return user;
        }
  };
                JdbcTemplate jdbc = new JdbcTemplate(dataSource);
                return (User)jdbc.queryForObject(sql,mapper,new Object[]{Long.vlaueof(id)});

}

        4)返回查询列表
           返回表中的所有记录:
           public List getUserList(){
               JdbcTemplate jdbc = new JdbcTemplate(dataSource);
               List rows = jdbc.queryForList("select id,username from user");
              return rows;
}
          返回的结果集类似下面这种形式:
                 [{id=1,username=admin},{id=2,username=test}]

         如果返回的结果集部止两个字段,则可以使用回调的方式将每一行记录转换为一个JavaBean对象。如下所示,使用query函数进行查询,并进行了行的回调。在回调中对每一个结果集转换为User对象:
          public boolean getUserList(String username,String password){
                  JdbcTemplate jdbc = new JdbcTemplate(dataSource);
                  List userList=jdbc.query("select*from user"),
                   new RowMapper(){
                      public Object mapRow(ResultSet rs,int rowNum)throws Exception{                       
                        User user = new User();
                        user.setId(is.getLong("id"));
                        user.setUsername(rs.getString("username"));
                        user.setPassword(rs.getString("password"));
                        user.setEmail(rs.getString("email"));
                        return user;
               }
      });
   return userList;
}

        5)执行更新语句
             可以使用update()来执行一个更新的SQL语句,其中的问号表示的参数使用数组表示,如下所示:
               public void updateUsername(int id,String name){
                   JdbcTemplate jdbc = new JdbcTemplate(dataSource);
                   jdbc.update("update mytable set name=?where id=?",new Object[]{name,new Long(id)});
1
0
分享到:
评论

相关推荐

    Spring JDBC与事务管理

    (1)使用Spring JDBC实现书店的购书过程,即有如下一个BookShopDao接口,编写BookShopDaoImp类实现该接口中的所有方法,并通过JUnit测试这些方法。 (2)(2) 在BookShopDao中添加一个purchase购书方法,其操作流程是...

    spring的jdbc工具类

    spring的jdbc工具类,对数据库的操作,对数据库进行增删改查的操作

    基于java的企业级应用开发:Spring Jdbc.ppt

    Spring JDBC Spring的JDBC模块负责数据库资源管理和错误处理,大大简化了开发人员对数据库的操作,使得开发人员可以从繁琐的数据库操作中解脱出来,从而将更多的精力投入到编写业务逻辑当中。 Spring JdbcTemplate...

    JavaEE的Spring JDBC与事务管理 实验

    (1)使用Spring JDBC实现书店的购书过程,即有如下一个BookShopDao接口,编写BookShopDaoImp类实现该接口中的所有方法,并通过JUnit测试这些方法。 public interface BookShopDao { //根据书号获取书的单价 //...

    SpringBoot中封装jdbc工具类

    现在的数据层的开发,大多会使用...但是在一些极端的场景下往往原生的jdbc方式操作数据库更灵活,性能更高。由于部分场景下MyBatis或JPA之类无法满足我的需求,所以我打算自己封装一套查数据库的工具类。 文章地址: ...

    基于框架的Web开发-使用springJDBC入门.doc

    创建一个java工程,名为springJDBC,包和类组织如下图所示。 测试资源文件夹放配置文件业务层具体业务逻辑(登录、注册、选课等等)领域对象放实体类持久层负责数据的访问和操作 测试 资源文件夹 放配置文件 业务层 ...

    基于SpringJDBC的轻量级ORM框架sborm.zip

    2、基于spring jdbc的上层封装,底层jdbc操作基于JdbcTemplate,对于使用spring jdbc的人会有一点价值,比较简洁的封装可以节省很多重复劳动,具体节省多少可以看看example; 3、实现一套简单的ORM(直接使用...

    SpringJDBC模块的使用

    实现学生的增删改查和浏览,可以使用控制台模式,显示一个操作菜单,数据库的访问,使用Spring JDBC模块来实现。 2、学生类的设计可以大家根据自己的理解设计,一般包含:学号、姓名、年龄、成绩等。

    Spring对JDBC的支持

    使用Spring提供的JdbcTemplate模板类实现对数据库的更新和查询操作、使用JdbcTemplate实现具体的DAO类、使用支持具名参数的JDBC模板类对数据库进行操作

    jdbc Template 操作数据库

    下载下来后操作步骤如下: 1、用Myeclipse打开; 2、不同的数据库更换不同的jars包数据库驱动, 3、不同的数据库,相应的修改applicationContext.xml, driverClassName,username,password,url; 4、运行DeptDao中的...

    JdbcUtils:(仿Spring JdbcTemplate)JDBC工具类

    JdbcUtils使用指南JdbcUtils是JDBC的工具类,封装了JDBC连接获取,语句结构,资源释放等繁琐步骤,对外提供简洁的数据库查询和更新操作接口。使用前准备添加maven仓库地址< repositories> < repository> < id>byx-...

    Spring 3.0MVC JDBC 单表操作示例.rar

    eclipse 直接导出的项目 Spring MVC 的一个DEMO jiaolongzhi作品 采用 Spring 3.0 MVC 框架 JSTL+EL 语句输出界面 ...一种是 Spring 封装的JDBC和 操作 (teacher表) 一种是 proxool 提供的方式(student表)

    Spring JDBC,JdbcTemplate,Aspect的整合

    1.在mysql中创建一个Person数据库,在数据库中创建一个person表,有id,姓名,性别、家许地址等字段;创建日志表,保存“操作人”、"操作方法"、"操作中必要的参数"(若有多个,可以封装在Bean中,如何获取,请参考...

    Spring-generator一键生成数据库文件

    工具支持所有实现 JDBC 规范的数据库;默认集成了Oracle、SqlServer、MySQL、PostgreSql 数据库驱动 jar 包,其他数据库可以自己添加依赖。 工具默认集成了以 MyBatis 作为持久化层的模板,如果需要 JPA 相关等模板...

    最新最全的spring开发包

     这个jar文件包含对Spring对JDBC数据访问进行封装的所有类。 (8) spring-orm.jar 这个jar文件包含Spring对DAO特性集进行了扩展,使其支持 iBATIS、JDO、OJB、TopLink,因为Hibernate已经独立成包了,现在不包含在...

    核心类JdbcTemplate实现JDBC操作

    JDBC框架中最主要的类是JdbcTemplate,可以在org.springframework.jdbc.core包中找到它。JdbcTemplate类在内部已经处理完了数据库资源的建立和释放

    Spring5源码之JDBC

    这篇文章主要介绍了Spring5源码之JDBC,基于上一篇Spring5之JDBC使用案例来一步步剖析jdbcTemplate操作数据库的源码。需要的朋友可以参考一下。 1、save/update功能实现 在UserServiceImpl中jdbcTemplate的初始化是...

    跟我学spring3(1-7)

    【第七章】 对JDBC的支持 之 7.3 关系数据库操作对象化 ——跟我学spring3 【第七章】 对JDBC的支持 之 7.4 Spring提供的其它帮助 ——跟我学spring3 【第七章】 对JDBC的支持 之 7.5 集成Spring JDBC及最佳...

    java/jdbc简单的ebank电子银行系统

    mySQL实现数据库的增删查改操作。 需求: 对单一账户进行创建、修改、删除、查询操作 数据库设计 提供帐户表以保存帐户数据 参考: 帐户信息至少包括账户id,账户余额 实体设计 提供帐户类,代表账户实体 业务逻辑...

Global site tag (gtag.js) - Google Analytics