我使用的是mysql数据库
jdbc有4个核心对象
DriverManager 注册驱动
getConnection();
Connection 连接
createStatement(); //这个方法用的多一些
prepareStatement();
Statement (PreparedStatement) 进入数据库进行增删查改操作
ResultSet executeQuery(); //这个用来查询结果,单用来查询而已
int executeUpdate(); // 用来对数据库的增删改
ResultSet 结果集
我不会使用数据库中的一些高深的东西,只单纯会增删查改
properties文件
diverClass=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/mydb1 username=root password=root代码 用于连接到数据库验证
import java.sql.*; import java.util.ResourceBundle; //做好使用数据库的工作,以后要修改数据库或账号密码,无需修改代码,只需修改properties文件里面对应的项 public class JdbcDomend1 { private static String diverClass; private static String url; private static String username; private static String password; static { //加载properties文件数据的 ResourceBundle rb = ResourceBundle.getBundle("dbinfo"); diverClass =rb.getString("diverClass"); url =rb.getString("url"); username =rb.getString("username"); password =rb.getString("password"); try { Class.forName(diverClass); } catch (ClassNotFoundException e) { e.printStackTrace(); } } public static Connection getConnection() throws Exception { return DriverManager.getConnection(url,username,password); } //关闭资源 public static void closeAll(ResultSet rs, Statement stmt,Connection conn) { if (rs!=null) { try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } rs = null; } if (stmt!=null) { try { stmt.close(); } catch (SQLException e) { e.printStackTrace(); } stmt = null; } if (conn!=null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } conn = null; } } }
import java.util.Date; public class JdbcDome3 { private int id; private String name; private Date birthday; private Date entry_date; public void setId(int id) { this.id = id; } public void setName(String name) { this.name = name; } public void setBirthday(Date birthday) { this.birthday = birthday; } public void setEntry_date(Date entry_date) { this.entry_date = entry_date; } public int getId() { return id; } public String getName() { return name; } public Date getBirthday() { return birthday; } public Date getEntry_date() { return entry_date; } @Override public String toString() { return "JdbcDome3[" + "id=" + id + ", name='" + name + '\'' + ", birthday=" + birthday + ", entry_date=" + entry_date + ']'; } }
import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; import java.util.ArrayList; import java.util.List; //完美使用数据库 public class JdbcDomend2 { public static void main(String[] args) { testSelect(); } public static void testSelect(){ Connection conn = null; Statement stmt = null; ResultSet rs = null; try { conn = JdbcDomend1.getConnection(); stmt = conn.createStatement(); rs = stmt.executeQuery("select * from user"); List<JdbcDome3> list = new ArrayList<JdbcDome3>(); while (rs.next()) { JdbcDome3 u =new JdbcDome3(); u.setId(rs.getInt(1)); u.setName(rs.getString(2)); u.setBirthday(rs.getDate(3)); u.setEntry_date(rs.getDate(4)); list.add(u); } for (JdbcDome3 user:list) { System.out.println(user); } } catch (Exception e) { e.printStackTrace(); }finally { JdbcDomend1.closeAll(rs,stmt,conn); } } }最简单的连接一下数据库,自己的技术能力有限,可能会有一些错误!!