用Eclipse查询数据库数据
开发工具与关键技术:Eclipse
撰写时间:2021-04-28
下面我们
第一步要手动加载驱动,如果知道一个类的完整包名,可以通过 Class 类的静态方法 forName() 获得 Class 对象,将驱动类的class文件装载到内存中,并且形成一个描述此驱动类结构的Class类实例,并且初始化此驱动类,这样jvm就可以使用它了。
第二步要获取数据库的连接,获取数据库mysql连接地址,数据库名称,数据库密码,获取一个数据的连接,获取连接的一个状态。
第三步创建Statement对象。 Statement类用于执行静态SQL语句并返回它所生成的结果。通过Connection接口中的createStatement()方法可以创建一个Statement对象。用String strSql = “”;来查询精准数据库内所需要的数据。
第四步参数赋值 索引从1开始,获取数据库的记录数的sql语句,返回值是int类型,但是它并不能用 executeUpdate() 来执行,它属于查询语句,应该用 executeQuery() 执行。
第五步获取数据 jdbc索引从1开始,设置参数,参数索引位置是从1开始(Hibernate参数索引位置是从0开始) ps.setInt(1, 10)过滤itemid大于10的记录循环读取结果集的每一行的每一列。
最后获取完数据一定要关闭数据库连接
详细过程代码如下:
public class SelectDemo {
public static void main(String[] args) throws ClassNotFoundException {
//第一步 加载驱动
Class.forName(“com.mysql.cj.jdbc.Driver”);
//第二步 获取数据库连接
//连接字符串
String url = “jdbc:mysql://localhost:3306/demo_db-2019?characterEncoding+UTF-8&serverTimezone=Asia/Shanghai&useSSL=false”;
//用户名 密码
String userNmae = “root”;
String password = “root”;
//获取一个数据的连接
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conn = DriverManager.getConnection(url,userNmae,password);
//第三步 创建 Statement
//Statement statement = conn.createStatement();
///prepareStatement 中使用?作为变量的占位符
String strSql = “INSERT INTO sys_user(user_name,‘password’,real_name,”
+ “sys_user,‘sex’,sys_user,age,sys_user.birthday,”
+ “sys_user.phone,sys_user.address,sys_user.role_id”
+ “FROM sys_user”;
ps = conn.prepareStatement(strSql);
//第四步 参数赋值 索引从1开始
rs = ps.executeQuery();
List userList = new ArrayList();
SysUser user = null;
//第五步 获取数据 jdbc索引从1开始
while(rs.next()) {
user = new SysUser();
int id = rs.getInt(“id”);
user.setUserNmae(rs.getString(“user_name”));
user.setRealName(rs.getString(“real_name”));
user.setSex(rs.getByte(“sex”));
user.setBirthday(new Date(rs.getDate(“birthday”).getTime()));
userList.add(user);
}
for (SysUser sysUser : userList) {
System.out.println(sysUser);
}
}catch (SQLException e) {
e.printStackTrace();
}finally {
if (conn != null) {
//记得一定要关闭数据库连接!!!
try {
conn.close();
}catch(SQLException e) {
//TODO Auto-generated catch block
e.printStackTrace();
}
}
if (ps != null) {
try {
ps.close();
}catch (SQLException e) {
//TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}