Mysql的JDBC

Java程序可以通过JDBC链接数据库,通过JDBC可以方便的访问数据库,不必为特定的数据库编写专门的程序。

  需要先配置mysql-connector-java-5.0.8-bin.jar

  使用JDBC连接数据库的开发流程如下:

  1. 注册数据库驱动  Class.forName("com.mysql.jdbc.Driver");
  2. 构建数据库连接的URL,Mysql的连接URL为"jdbc:mysql://localhost:3306/test"
  3. 获取Connection对象,该对象是JDBC封装的数据库连接对象,只有创建此对象后,才可以对数据执行相关操作。DriverManager.getConnection(url, username, password);

     如下为JDBC核心API的五个接口:

Mysql的JDBC

例:mysql数据表格式:

Mysql的JDBC

增加操作的核心代码:

Mysql的JDBC
try{
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://localhost:3306/student";
Connection con=DriverManager.getConnection(url, "root", "");
String sql="insert into tb_books(name, price, bookCount, author) values(?,?,?,?)";
PreparedStatement ps=con.prepareStatement(sql);
ps.setString(1, book.getName());
ps.setDouble(2, book.getPrice());
ps.setInt(3, book.getBookCount());
ps.setString(4, book.getAuthor());
int row = ps.executeUpdate();
if(row>0){
out.print("成功添加"+row+" 行数据");
}
ps.close();
con.close();
}
catch(Exception e){
out.print("添加失败!");
e.printStackTrace();
}
Mysql的JDBC

查询操作的核心代码:

Mysql的JDBC
        try{
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://localhost:3306/student";
Connection con=DriverManager.getConnection(url, "root", "");
Statement statement=con.createStatement();
String sql="select * from tb_books";
ResultSet rs=statement.executeQuery(sql);
ArrayList<Book> list=new ArrayList<Book>();
while(rs.next()){
Book book=new Book();
book.setName(rs.getString("name"));
book.setPrice(rs.getDouble("price"));
book.setBookCount(rs.getInt("bookCount"));
book.setAuthor(rs.getString("author"));
list.add(book);
}
request.setAttribute("list", list);
rs.close();
con.close();
}
catch(ClassNotFoundException e){
e.printStackTrace();
}
catch(SQLException e){
e.printStackTrace();
}
Mysql的JDBC

修改数据的核心代码:

Mysql的JDBC
try{
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://localhost:3306/student";
Connection con=DriverManager.getConnection(url, "root", "");
String sql="update tb_books set bookCount=? where name=?";
PreparedStatement ps=con.prepareStatement(sql);
ps.setInt(1, bookCount);
ps.setString(2, name);
ps.executeUpdate();
ps.close();con.close();
}
catch(Exception e){
e.printStackTrace();
}
Mysql的JDBC

对数据的其他操作类似。

上一篇:把Gitlab迁移到Docker容器里


下一篇:创建NetWorkDataset---FileGDB篇