DB操作

 1 package com.study.db;
 2 
 3 import java.sql.Connection;
 4 import java.sql.DriverManager;
 5 import java.sql.ResultSet;
 6 import java.sql.Statement;
 7 
 8 public class DBUtil {
 9     
10     private static final String URL="jdbc:mysql://localhost:3306/demo_jdbc";
11     private static final String NAME="root";
12     private static final String PASSWORD="root";
13 
14     public static void main(String[] args) throws Exception{
15         
16         //1.加载驱动程序
17         Class.forName("com.mysql.jdbc.Driver");
18         //2.获得数据库的连接
19         Connection conn = DriverManager.getConnection(URL, NAME, PASSWORD);
20         //3.通过数据库的连接操作数据库,实现增删改查
21         Statement stmt = conn.createStatement();
22         ResultSet rs = stmt.executeQuery("select user_name,age from imooc_goddess");//选择import java.sql.ResultSet;
23         while(rs.next()){//如果对象中有数据,就会循环打印出来
24             System.out.println(rs.getString("user_name")+","+rs.getInt("age"));
25         }
26     }
27 }




 2     public void addGoddess(Goddess g) throws Exception{
 3         Connection con=DBUtil.getConnection();//首先拿到数据库的连接
 4         String sql="" + 
 5                 "insert into imooc_goddess"+
 6                 "(user_name,sex,age,birthday,email,mobile,"+
 7                 "create_user,create_date,update_user,update_date,isdel) "+
 8                 "values("+
 9                 "?,?,?,?,?,?,?,current_date(),?,current_date(),?)";//参数用?表示,相当于占位符;用mysql的日期函数current_date()来获取当前日期
10         //预编译sql语句
11         PreparedStatement psmt = con.prepareStatement(sql);
12         //先对应SQL语句,给SQL语句传递参数
13         psmt.setString(1, g.getUserName());
14         psmt.setInt(2, g.getSex());
15         psmt.setInt(3, g.getAge());
16         //注意:setDate()函数第二个参数需要的是java.sql.Date类型,我们传进来的是java.util.Date,类型不符,需要做一下转换
17         psmt.setDate(4, new Date(g.getBirthday().getTime()));
18         psmt.setString(5, g.getEmail());
19         psmt.setString(6, g.getMobile());
20         psmt.setString(7, g.getCreateUser());
21         psmt.setString(8, g.getUpdateUser());
22         psmt.setInt(9, g.getIsDel());
23         //执行SQL语句
24         psmt.execute();
25         /**
26          * prepareStatement这个方法会将SQL语句加载到驱动程序conn集成程序中,但是并不直接执行
27          * 而是当它调用execute()方法的时候才真正执行;
28          * 
29          * 上面SQL中的参数用?表示,相当于占位符,然后在对参数进行赋值。
30          * 当真正执行时,这些参数会加载在SQL语句中,把SQL语句拼接完整才去执行。
31          * 这样就会减少对数据库的操作
32          */
33     }






  public List<Goddess> query() throws Exception{
27         Connection con=DBUtil.getConnection();
28         Statement stmt=con.createStatement();
29         ResultSet rs=stmt.executeQuery("select user_name,age from imooc_goddess");
30         List<Goddess> gs=new ArrayList<Goddess>();
31         Goddess g=null;
32         while(rs.next()){//如果对象中有数据,就会循环打印出来
33             g=new Goddess();
34             g.setUserName(rs.getString("user_name"));
35             g.setAge(rs.getInt("age"));
36             gs.add(g);
37         }
38         return gs;
39     }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值