package com.util;
/*
* 问题:
* 1、代码量大,比较繁琐
* 2、表数据转换为对象时,很难提取共用
* 3、不同的数据库支持不相同
* 4、对事务处理比较麻烦
*/
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.bean.User;
public class JdbcUtil {
public static void main(String[] args) {
PreparedStatement st = null;
Connection conn = null;
ResultSet rs = null;
try {
// 1.加载驱动
Class.forName("com.mysql.jdbc.Driver");
// 2,创建连接
conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/test", "root", "123456");
// 3,创建Statement对象
String sql = "select * from user";
st = conn.prepareStatement(sql);
// 4,执行execute
rs = st.executeQuery();
// 5,处理结果集
while (rs.next()) {
User user = new User();
user.setUid(rs.getInt("uid"));
user.setName(rs.getString("name"));
user.setAge(rs.getInt("age"));
System.out.println(user.toString());
}
} catch (SQLException e) {
System.out.println("数据库连接异常!");
e.printStackTrace();
} catch (ClassNotFoundException e) {
System.out.println("驱动加载失败!");
e.printStackTrace();
} finally {
try {
// 关闭资源
if (rs != null)
rs.close();
if (st != null)
st.close();
if (conn != null)
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
package com.bean;
public class User {
public String toString() {
return "User [uid=" + uid + ", name=" + name + ", age=" + age + "]";
}
private int uid;
private String name;
private int age;
public User() {
super();
}
public User(int uid, String name, int age) {
super();
this.uid = uid;
this.name = name;
this.age = age;
}
public int getUid() {
return uid;
}
public void setUid(int uid) {
this.uid = uid;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}