JDBC编程步骤:
前提:去下载mysql对应的驱动jar包,加载到项目文件中.
1.加载驱动程序
加载mysql驱动(数据库是mysql)
Class.forName("com.mysql.jdbc.Driver");
2.获得数据库连接
private static final String URL = "jdbc:mysql://127.0.0.1:3306/myhome"; //数据库url private static final String USER = "root"; // 数据库用户名 private static final String PASSWORD = "0000"; // 数据库密码 private static Connection conn = null; // 建立一个到指定数据库的连接,并返回一个Connection对象 conn = DriverManager.getConnection(URL, USER, PASSWORD);
3.创建Statement对象
// 创建一个Statement对象,用以执行不带参数的SQL查询和更新 Statement stmt = conn.createStatement();
4.从数据库中查找数据
ResultSet rs = stmt.executeQuery("SELECT article_title, " + "article_context from article where id = " + id); // executeQuery()的参数是sql语句,查询结果返回给结果集合rs中去 if (!rs.next()) { // 判断从数据库中收否取出数据 return null; } // 获取第一条数据 Article article = new Article(); article.setId(id); article.setTitle(rs.getString("article_title")); // rs对象的getString方法是查询表中对应字段的名称,返回的是记录相应字段的内容 article.setContext(rs.getString("article_context")); // 现在,已从数据库中取出一条数据,并且付给Article对象
5.向数据库中添加数据
Statement stmt = conn.createStatement(); Article article = new Article("title","content", new Date()); // ?相当于占位符,再给这些参数赋值,当真正执行时参数会加载到sql语句中, // sql语句拼写完整才执行,这样减少对数据库的操作 String sql = "insert into article " + "(article_title,article_context,article_date) " + "values (?,?,?)"; // preparedStatement方法将sql加载到驱动程序的执行程序中,但并不直接执行 // 当调用execute方法时,才真正执行 PreparedStatement ptmp = conn.prepareStatement(sql); // 把数据加载到sql语句中 ptmp.setString(1,article.getTitle()); ptmp.setString(2,article.getContext()); // 在Article中date是util包下的,在下面的setDate中,需要的date参数是sql下的 ptmp.setDate(3,new Date(article.getDate().getTime())); // 执行 ptmp.execute();6.关闭
使用完ResultSet,Statement或Connection对象后,应立即调用close方法,这些对象都使用了规模较大的数据结构和数据库存服务器上的有限资源.
在javaSE 7时,可以在Statement上调用closeOnCompletion方法,在其所有结果集都被关闭后,该语句会立即自动关闭.