java 数据库设计工具_Java课程设计---数据库工具类

接下来看看传统的查询方式(一个完整的查询)

package com.java.mysql;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

/**

*

* Title: db.java

*

*

* @author daxiang

* @version 1.0 创建时间:2018年5月22日 上午8:00:22

*/

public class DB {

public static void main(String[] args) {

Connection con;// 声明Connection对象

String driver = "com.mysql.jdbc.Driver";// 驱动程序名

String url = "jdbc:mysql://localhost:3306/db_student";// URL指向要访问的数据库名db_student

String user = "root";// MySQL配置时的用户名

String password = "123";// MySQL配置时的密码

try {

Class.forName(driver);// 加载驱动程序

con = DriverManager.getConnection(url, user, password);// 使用getConnection()方法,连接MySQL数据库!!

if (!con.isClosed())

System.out.println("成功连接mysql数据库");

// 2.创建statement类对象,用来执行SQL语句!!

Statement statement = con.createStatement();

// 要执行的SQL语句

String sql = "select * from admin";

// 3.ResultSet类,用来存放获取的结果集!!

ResultSet rs = statement.executeQuery(sql);

System.out.println("-----------------");

System.out.println("执行结果如下所示:");

System.out.println("-----------------");

System.out.println("id" + "\t" + "admin" + "\t" + "password");

System.out.println("-----------------");

// 遍历查询结果集

while (rs.next()) {

String id = rs.getString(1);// 获取第一列数据

String username = rs.getString(2); // 获取第二列数据

String pwd= rs.getString(3); // 获取第三列数据

System.out.println(id + "\t" + username + "\t" + pwd);// 输出结果

}

rs.close();

con.close();

} catch (ClassNotFoundException e) {

System.out.println("无法加载驱动");

e.printStackTrace();// 数据库驱动类异常处理

} catch (SQLException e) {

e.printStackTrace();// 数据库连接失败异常处理

} catch (Exception e) {

e.printStackTrace();

}

}

}

上面完成了对db_student数据库中admin表的查询,而且得到了结果

7e72ab960cc03ded13a25a57f6e0daff.png

但是这样的并没有实现代码复用,当别的实体需要查询或者其他操作时,还需要重复的连接等过程,所以我们对常用操作进行封装,将数据库的基本“增、删、查、改”封装到一个类里面

DbUtil.java(数据库操作工具类)

package com.student.util;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

/*

* 项目名称:

*

* 文件名称为:DbUtil.java

* 文件创建人:daxiang

*

* 修改记录:

* 修改人 修改日期 备注

*

*

*

* @author daxiang

* @version

* @time 2018年6月14日 上午9:16:44

* @copyright daxiang

*/

public class DbUtil {

private Connection con;// 声明Connection对象

public DbUtil() {

String driver = "com.mysql.jdbc.Driver";// 驱动程序名

String url = "jdbc:mysql://localhost:3306/db_student?characterEncoding=utf8";// URL指向要访问的数据库名mysql

String user = "root";// MySQL配置时的用户名

String password = "123";// MySQL配置时的密码

try {

// 加载驱动

Class.forName(driver);

// 获取连接

con = DriverManager.getConnection(url, user, password);

} catch (ClassNotFoundException e) {

e.printStackTrace();

} catch (SQLException e) {

e.printStackTrace();

}

}

/**

* 增、删、改

*

* @return

* @throws SQLException

*/

public boolean execute(String sql) throws SQLException {

// 获取操作对象

Statement statement = con.createStatement();

// 执行

if (statement.executeUpdate(sql) > 0) {

return true;

}

return false;

}

/**

* 查询

*

* @param sql

* @return

* @throws SQLException

*/

public ResultSet executeQuery(String sql) throws SQLException {

// 获取操作对象

Statement statement = con.createStatement();

// 执行

return statement.executeQuery(sql);

}

}

AppConstants .java(常量参数类)

package com.demo.util;

/*

* 项目名称:

*

* 文件名称为:AppConstants.java

* 文件创建人:daxiang

*

* @author daxiang

* @version

* @time 2018年6月13日 下午7:57:10

* @copyright daxiang

*/

public class AppConstants {

// jdbc

public static final String JDBC_URL = "jdbc:mysql://127.0.0.1:3306/db_student?characterEncoding=utf8";

public static final String JDBC_USERNAME = "root";

public static final String JDBC_PASSWORD = "123";

public static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";

}

这样封装后我们就可以简化服务类中的代码,请看

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值