JDBC实战(慕课)

来源:互联网 发布:服务器坏了 raid 数据 编辑:程序博客网 时间:2024/06/08 10:20

慕课第二遍视频

JDBC连接mysql数据库

DBUtil

package com.imooc.db;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class DBUtil {private static final String URL="jdbc:mysql://127.0.0.1:3306/imooc?useUnicode=true&characterEncoding=utf-8";private static final String USER="root";private static final String PASSWORD="";private static Connection conn=null;static {try {//1.加载驱动程序Class.forName("com.mysql.jdbc.Driver");//2.获得数据库的连接conn=DriverManager.getConnection(URL, USER, PASSWORD);} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException e) {e.printStackTrace();}}public static Connection getConnection(){return conn;}}

2.
public void addGoddess(Goddess g) throws Exception{Connection conn=DBUtil.getConnection();String sql="" +"insert into imooc_goddess" +"(user_name,sex,age,birthday,email,mobile," +"create_user,create_date,update_user,update_date,isdel)" +"values(" +"?,?,?,?,?,?,?,current_date(),?,current_date(),?)";PreparedStatement ptmt=conn.prepareStatement(sql);ptmt.setString(1, g.getUser_name());ptmt.setInt(2, g.getSex());ptmt.setInt(3, g.getAge());ptmt.setDate(4, new Date(g.getBirthday().getTime()));ptmt.setString(5, g.getEmail());ptmt.setString(6, g.getMobile());ptmt.setString(7, g.getCreate_user());ptmt.setString(8, g.getUpdate_user());ptmt.setInt(9, g.getIsdel());ptmt.execute();}

深入 理解 Statement 和 PreparedStatement

JDBC驱动的最佳化是基于使用的是什么功能. 选择PreparedStatement还是Statement取决于你要怎么使用它们. 对于只执行一次的SQL语句选择Statement是最好的. 相反, 如果SQL语句被多次执行选用PreparedStatement是最好的.
PreparedStatement:

1.创建PreparedStatement对象

ptmt=con.prepareStatement("UPDATE table4 SET m = ? WHERE x = ?"); 

 sql语句要采用占位符的方式,然后使用ptmt.setXX对占位符进行赋值

public List<Goddess> query() throws Exception{List<Goddess> result=new ArrayList<Goddess>();Connection conn=DBUtil.getConnection();StringBuilder sb=new StringBuilder();sb.append("select id,user_name,age from imooc_goddess  ");PreparedStatement ptmt=conn.prepareStatement(sb.toString());ResultSet rs=ptmt.executeQuery();Goddess g=null;while(rs.next()){g=new Goddess();g.setId(rs.getInt("id"));g.setUser_name(rs.getString("user_name"));g.setAge(rs.getInt("age"));result.add(g);}return result;}

ResultSet:数据中查询结果返回的一种对象,可以说结果集是一个存储查询结果的对象,结果集读取数据的方法主要是getXXX(),他的参数可以使整型表示第几列(是从1开始的),还可以是列名。返回的是对应的XXX类型的值


原创粉丝点击