Spring的jdbcTemplate操作

本文通过示例介绍了如何在Spring框架中使用JdbcTemplate进行数据库的基本CRUD操作,并展示了如何配置数据源和执行SQL语句。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

                           
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);}

    
    


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值