Spring的jdbcTemplate操作

来源:互联网 发布:免费视频加密软件 编辑:程序博客网 时间:2024/06/06 02:40
                           
spring框架一站式框架
     在dao层,使用jdbcTemplate
    增加
      1.导入jdbcTemplate使用的jar包
          Spring-jdbc
          spring-tx

       @Text
       public void add(){   
      2.创建对象,设置数据库的信息
          DriverManagerDataSource dataSource=new DriverManagerDataSource();
          dataSource.setDriverClassName("com.mysql.jdbc.Driver");
          dataSource.setUrl("jdbc:jdbc:mysql:///数据库的名称");
          dataSource.setUsername("root");
          dataSource.setPassword("");  
      3.创建jdbcTemplate对象,设置数据源
       JdbcTemplate jdbcTemplate=new JdbcTemplate(dataSource);
      4.调用jdbcTemplate对象里面的方法实现操作
          String sql="insert into user values(?,?)";
          int rows=jdbcTemplate.update(sql,"lucy","250");
          System.out.println(rows);}
    修改  
   @Text    
   public void update(){   
      2.创建对象,设置数据库的信息
          DriverManagerDataSource dataSource=new DriverManagerDataSource();
          dataSource.setDriverClassName("com.mysql.jdbc.Driver");
          dataSource.setUrl("jdbc:jdbc:mysql:///数据库的名称");
          dataSource.setUsername("root");
          dataSource.setPassword("");  
      3.创建jdbcTemplate对象,设置数据源
       JdbcTemplate jdbcTemplate=new JdbcTemplate(dataSource);
       String sql="update user set Password=? where username=?";
       int rows= jdbcTemplate.update(sql,"1314","lucy");
       System.out.println(rows);
         删除   
   @Text  
   public void delete(){   
      2.创建对象,设置数据库的信息
          DriverManagerDataSource dataSource=new DriverManagerDataSource();
          dataSource.setDriverClassName("com.mysql.jdbc.Driver");
          dataSource.setUrl("jdbc:jdbc:mysql:///数据库的名称");
          dataSource.setUsername("root");
          dataSource.setPassword("");  
      3.创建jdbcTemplate对象,设置数据源
       JdbcTemplate jdbcTemplate=new JdbcTemplate(dataSource);
       String sql="delete from user where username=?";
       int rows= jdbcTemplate.update(sql,"lucy");
       System.out.println(rows);

    查询表中有多少条记录
   @Text  
   public void count(){   
      2.创建对象,设置数据库的信息
          DriverManagerDataSource dataSource=new DriverManagerDataSource();
          dataSource.setDriverClassName("com.mysql.jdbc.Driver");
          dataSource.setUrl("jdbc:jdbc:mysql:///数据库的名称");
          dataSource.setUsername("root");
          dataSource.setPassword("");  
      3.创建jdbcTemplate对象,设置数据源
       JdbcTemplate jdbcTemplate=new JdbcTemplate(dataSource);
       String sql="select count(*) from user";
       int count=jdbcTemplate.queryForObject(sql,Integer.class);
       System.out.println(count);}

    查询返回对象的操作
    jdbc实现代码
      @Test
      public void testJdbc(){
          Connection conn=null;
          PreparedStatement psmt=null;
          ResultSet rs=null;
          加载驱动
               try{
                   Class.forName("com.mysql.jdbc.Driver");
                   创建连接
                   conn=DriverManage.getConnestion("jdbc:mysql:///数据库的名称","root","");
                   编写sql语句
                   String sql="select * From user where username=?";
                   预编译sql
                   psmt=conn.PreparedStatement(sql);
                   设置参数值
                   psmt.setString(1,"lucy");
                   执行sql
                   rs=psmt.executeQuery();
                   遍历结果集
                   while(rs.next()){
                       String username=rs.getString("username");
                       String password=rs.getString("password");
                       User user=new User(); //先写一个user类
                       user.setUsername(username);
                       user.setPassword(password);
                       System.out.println(user);
                   }
               } catch(Exception e){
                   e.printStackTrace();
               }finally{
                   try{
                       rs.close();
                       psmt.close();
                       conn.close();
                   }catch (SQLException e){
                       e.printStackTrace();
                   }
               }

      }



    查询返回对象
     @Text
     public void count(){   
      2.创建对象,设置数据库的信息
          DriverManagerDataSource dataSource=new DriverManagerDataSource();
          dataSource.setDriverClassName("com.mysql.jdbc.Driver");
          dataSource.setUrl("jdbc:jdbc:mysql:///数据库的名称");
          dataSource.setUsername("root");
          dataSource.setPassword("");  
      3.创建jdbcTemplate对象,设置数据源
       JdbcTemplate jdbcTemplate=new JdbcTemplate(dataSource);
       String sql="select * from user where username=?";
       User user=jdbcTemplate.queryForObject(sql,new MyRowMapper(),"lucy")    //三个参数 1.sql  2.RowMapper接口 3.可变参数
       System.out.println(user);




注:在类外
  class MyRowMapper implement RowMapper<User>{
      @Override
      public User mapRow(ResultSet rs,int num) throws SQLException{
          // 1从结果集中把数据得到
         String username=rs.getString("username");
         String password=rs.getString("password");
         
          // 2把数据封装到对象里面
          User user=new USer();
          user.setUsername(username);
          user.setPassword(password);
          return user;
      }

  }

 
    查询List
   @Text
   public void List(){   
      2.创建对象,设置数据库的信息
          DriverManagerDataSource dataSource=new DriverManagerDataSource();
          dataSource.setDriverClassName("com.mysql.jdbc.Driver");
          dataSource.setUrl("jdbc:jdbc:mysql:///数据库的名称");
          dataSource.setUsername("root");
          dataSource.setPassword("");  
      3.创建jdbcTemplate对象,设置数据源
       JdbcTemplate jdbcTemplate=new JdbcTemplate(dataSource);
       String sql="select * from user";
       List<User> list=jdbcTemplate.query(sql,new MyRowMapper())    //三个参数 1.sql  2.RowMapper接口 3.可变参数
       System.out.println(list);}

    
    


原创粉丝点击