原生JDBC查询数据
首先在pom.xml 中引入驱动包
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.21</version>
</dependency>
步骤
- Class.forName 注册驱动
- 获取一个Connection
- 创建一个Statement对象
- execute()方法执行SQL,得到一个ResultSet结果集
- 通过遍历ResultSet结果集得到数据,给POJO赋值处理数据,最终返回POJO
- 关闭数据库相关资源,包括ResultSet、Statement、Connection
- …
示例代码
@Test
public void testJdbc() {
Connection conn = null;
Statement stmt = null;
Blog blog = new Blog();
try {
// 1.注册 JDBC 驱动
// Class.forName("com.mysql.jdbc.Driver");
// 2.获取一个Connection
conn = DriverManager.getConnection("jdbc:mysql://159.75.79.151:3306/mybatis", "root", "root");
// 3.创建一个Statement对象
stmt = conn.createStatement();
String sql = "SELECT bid, name, author_id FROM blog where bid = 1";
// 4.execute()方法执行SQL,得到一个ResultSet结果集
ResultSet rs = stmt.executeQuery(sql);
// 5.通过遍历ResultSet结果集得到数据,给POJO赋值处理数据,最终返回POJO
while (rs.next()) {
Integer bid = rs.getInt("bid");
String name = rs.getString("name");
Integer authorId = rs.getInt("author_id");
blog.setAuthorId(authorId);
blog.setBid(bid);
blog.setName(name);
}
System.out.println(blog);
// 6.关闭数据库相关资源,包括ResultSet、Statement、Connection
rs.close();
stmt.close();
conn.close();
} catch (SQLException se) {
se.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
// 6.关闭数据库相关资源,包括ResultSet、Statement、Connection
try {
if (stmt != null) stmt.close();
} catch (SQLException se2) {
}
try {
if (conn != null) conn.close();
} catch (SQLException se) {
se.printStackTrace();
}
}
}