表user的数据
JDBC代码
在不使用ORM框架情况下,直接使用JDBC操作数据库
package com.su.mybatis.mysql.controller;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.alibaba.fastjson.JSON;
import com.su.mybatis.mysql.model.User;
public class MybatisTest {
public static void main(String[] args) {
Connection conn = null;//数据库连接
PreparedStatement stmt = null;//预编译机制,添加参数的方式能有效防止sql注入
ResultSet rs = null;//结果集
try {
//1、注册驱动
Class.forName("com.mysql.jdbc.Driver");
//2、获取连接
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8", "root", "Su123456");
//3、创建查询
String sql = "SELECT * FROM user where id = ?";
stmt = conn.prepareStatement(sql);
stmt.setInt(1, 1);
System.out.println(stmt.toString());
rs = stmt.executeQuery();
//4、数据转换(查询结果封装曾User对象)
while (rs.next()) {
User user = new User();
user.setId(rs.getInt("id"));
user.setName(rs.getString("name"));
user.setAge(rs.getInt("age"));
user.setPhone(rs.getString("phone"));
user.setMoney(rs.getInt("money"));
System.out.println("user:" + JSON.toJSONString(user));
}
} catch (SQLException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
//5、关闭连接
if(rs != null){
try {
rs.close();
} catch (Exception e) {
e.printStackTrace();
}
}
if (stmt != null){
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
输出结果
com.mysql.jdbc.JDBC4PreparedStatement@afa4b0: SELECT * FROM user where id = 1
user:{"age":27,"id":1,"money":1000,"name":"su","phone":"18912341234"}
如果有写的不对的地方,请大家多多批评指正,非常感谢!