JDBC简单使用及封装使用

1. JDBC简单使用

1.1 加载驱动

try {
Class.forName(“com.mysql.jdbc.Driver”) ; //加载驱动
} catch (ClassNotFoundException e) {
System.out.println(“找不到驱动程序类 ,加载驱动失败!”);
e.printStackTrace();
}

1.2 连接数据库

String url = “jdbc:mysql://localhost:3306/student” ; //student数据库名称
String username = “root” ; //数据库账号
String password = “123456” ; //数据库密码
Connection con = null; //定义Connection的变量
try{
con = DriverManager.getConnection(url,username,password ) ; //连接数据库
}catch(SQLException se){
System.out.println(“数据库连接失败!”);
se.printStackTrace() ;
}

1.3 写sql语句

String sql=“select * from users”; //此处的位查询语句

1.4 得到statement对象

PreparedStatement stmt = null; //要执行动态sql,获取stmt
try {
stmt = con.prepareStatement(sql);
} catch (SQLException e) {
e.printStackTrace();
}

1.5 执行sql语句

ResultSet rs = null; //执行sql
try {
rs = stmt.executeQuery();
} catch (SQLException e) {
e.printStackTrace();
}

1.6 处理记录集

while (rs.next()) { //循环读取数据直到结束
pass=rs.getString(1); //获取表中第一列数据
System.out.print(" UserName: " + pass); //输出
System.out.print("\n"); //换行
}

1.7 关闭资源

 关闭对象的顺序声明对象的顺序相反;

if(rs != null){ // 关闭记录集
try{
rs.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
if(stmt != null){ // 关闭声明
try{
stmt.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
if(con!= null) { // 关闭连接对象
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}

2. JDBC的增删查改功能

2.1 增

加载驱动:同上
链接数据库:同上
写SQL语句:
String sql = “insert into users (UserName,Password,Id) values(?,?,?)”; // 生成一条sql语句
// 为sql语句中第一个问号赋值
ps.setString(1, “0121610870329”);
// 为sql语句中第二个问号赋值
ps.setString(2, “000000”);
// 为sql语句中第三个问号赋值
ps.setString(3, “教师”);
创建一个Statment对象:同上
执行sql语句:
stmt.executeUpdate();
关闭资源:
stmt.close();
con.close();
System.out.println(“数据插入完毕!!!”);

2.2删

加载驱动:同上
链接数据库:同上
写SQL语句:
String sql = “delete from users where UserName=‘0121610870321’”;//users:表;
创建一个Statment对象:同上
执行sql语句:
stmt.executeUpdate();
关闭资源:
stmt.close();
con.close();
System.out.println(“数据删除完毕!!!”);

2.3查

加载驱动:同上
链接数据库:同上
写SQL语句:
String sql=“select * from users”;
创建一个Statment对象:同上
执行sql语句:
rs = stmt.executeQuery();
处理结果集
while (rs.next()) { //循环读取数据直到结束
pass=rs.getString(1); //获取表中第一列数据
System.out.print(" UserName: " + pass); //输出
System.out.print("\n"); //换行
}
关闭资源:
rs.close() ;
stmt.close() ;
con.close();

2.4 改

加载驱动:同上
链接数据库:同上
写SQL语句:
String sql = “update users set Password=‘000000’ where UserName=‘0121610870324’”;
创建一个Statment对象:同上
执行sql语句:
stmt.executeUpdate();
关闭资源:
stmt.close();
con.close();
System.out.println(“数据修改完毕!!!”);

3.封装

3.1 建一个Util的包

右键点击src包,点击new,点击package.
在这里插入图片描述
输入包名,点击OK
在这里插入图片描述

3.2创建类

右击新建的包util,点击new,点击javaclass
在这里插入图片描述
输入DBUtil名称,点击ok,类已经创好。
在建立一个DBUT的类。
在这里插入图片描述

3.3 头部封装编写代码

public class DBUtil { //创建类
public static Connection getConnection() { //创建返回值类型为Connection的函数,
try { //复制jdbc的前俩个步骤的代码
Class.forName(“com.mysql.jdbc.Driver”); //加载驱动
} catch (ClassNotFoundException e) {
System.out.println(“找不到驱动程序类 ,加载驱动失败!”);
e.printStackTrace();
}
String url = “jdbc:mysql://localhost:3306/student”;
String username = “root”;
String password = “123456”;
Connection con = null;
try {
con = DriverManager.getConnection(url, username, password); //连接数据库
} catch (SQLException se) {
System.out.println(“数据库连接失败!”);
se.printStackTrace();
}
return con; //返还参数
}
封装完成。
try {
Class.forName(“com.mysql.jdbc.Driver”) ; //加载驱动
} catch (ClassNotFoundException e) {
System.out.println(“找不到驱动程序类 ,加载驱动失败!”);
e.printStackTrace();
}

    String url = "jdbc:mysql://localhost:3306/student" ;
    String username = "root" ;
    String password = "123456" ;
    Connection con = null;
    try{
        con = DriverManager.getConnection(url,username,password ) ;    //连接数据库
    }catch(SQLException se){
        System.out.println("数据库连接失败!");
        se.printStackTrace() ;
    }
    替换为下列代码。

Connection con = null;
con=DBUtil.getConnection();

3.4尾部封装编写代码

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class DBUt {

public static void Postend(Connection con , PreparedStatement stmt, ResultSet rs)
{
if(rs != null){ // 关闭记录集
try{
rs.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
if(stmt != null){ // 关闭声明
try{
stmt.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
if(con!= null) { // 关闭连接对象
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
封装完成。

if(rs != null){ // 关闭记录集
try{
rs.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
if(stmt != null){ // 关闭声明
try{
stmt.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
if(con!= null) { // 关闭连接对象
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
替换为
DBUt.Postend(con , stmt,rs);

4.创建实体类

4.1 先创建包lib,再创建usersint类

方法同上,可自行查阅。

4.2编写代码

public class usersint {

/*public usersint(String UserName, String Password , String Id )
{
 this.UserName=UserName;
 this.Password=Password;
 this.Id=Id;
}*/

public usersint(String userName, String password, String id) {
    UserName = userName;
    Password = password;
    Id = id;
}

private String UserName;
private String Password;
private String Id;

public String getUserName() {
    return UserName;
}

public void setUserName(String userName) {
    UserName = userName;
}

public String getPassword() {
    return Password;
}

public void setPassword(String password) {
    Password = password;
}

public String getId() {
    return Id;
}

public void setId(String id) {
    Id = id;
}

@Override
public String toString() {
    return "usersint{" +
            "UserName=" + UserName +
            ", Password=" + Password +
            ", Id=" + Id +
            '}';
}

}

4.3快捷键生成法

先写下列语句:
private String UserName;
private String Password;
private String Id;
空白处点击右键
点击Generate。
在这里插入图片描述
点击随意点击三个中的一个。
在这里插入图片描述
按住CTRL点击三项,点击OK。
在这里插入图片描述
实体类创建完成。

5 处理集替换

List list =new ArrayList<>();
while (rs.next()) {
String UserName=rs.getString(1);
String Password=rs.getString(2);
String Id=rs.getString(3);
usersint userss=new usersint( UserName, Password , Id);
list.add(userss);

            //rs.next();
            //pass=rs.getString(1);   //获取数据
            //System.out.print(" UserName: " + pass);
            //System.out.print("\n");
        }
        System.out.println(list.toString());

6 将代码放入函数体中,主函数调用。

First first=new First(); //First 类名
first.Infor();

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值