JDBC数据库连接idea

在这里插入图片描述
把数据库和idea结合起来,利用idea来处理数据库中数据,进行增删查改
分为六个步骤
//1加载驱动
Class.forName(“com.mysql.jdbc.Driver”);

//2获取连接
String url = “jdbc:mysql://localhost:3306/student?useUnicode=true&characterEncoding=UTF-8”;
//得到中文 ?useUnicode=true&characterEncoding=UTF-8"
String username = “root”;
String password = “root”;
con = DriverManager.getConnection(url, username, password);
//

//3得到预处理状态
String sql=“select id,name from info where id=? and name=?”;
ps=con.prepareStatement(sql);
ps.setInt(1,6);
ps.setString(2,“王五”);
//4得到结果集,一般在查询中使用
rs=ps.executeQuery();
//5循环读取数据
while(rs.next()){
int id=rs.getInt(“id”);
String name=rs.getString(“name”);
System.out.println(id+"\t"+name);
}
//6关闭资源 倒着关
rs.close();
ps.close();
con.close();
为了方便修改,新增DB类,测试类,接口以及接口实现类,数据库类进行封装。
后期做项目更好使用。
细节处理
Connection con=null;//连接数据库
PreparedStatement ps=null;//设置对象
ResultSet rs=null;//得到结果
连接数据库方法
public Connection getConnect() throws Exception {
Class.forName(“com.mysql.jdbc.Driver”);
String url=“jdbc:mysql://localhost:3306/student?useUnicode=true&characterEncoding=UTF-8”;
String username=“root”;
String password=“root”;
con= DriverManager.getConnection(url,username,password);
//连接数据库
return con;
}
两个关闭:
//针对增删改的关闭
public void close (Connection con,PreparedStatement ps) throws Exception {

    if(ps!=null){
        ps.close();
    }
    if(con!=null){
        con.close();
    }
}

//针对查询的关闭
public void close (Connection con,PreparedStatement ps,ResultSet rs) throws Exception {

    if(rs!=null){
        rs.close();
    }
    if(ps!=null){
        ps.close();
    }
    if(con!=null){
        con.close();
    }
}  

接口设计:
重构:
int insert(Users users) throws Exception;
int update(Users users) throws Exception;

 int insert(String name,String sex,int age) throws Exception;
 int update(String name,String sex,int age,int id) throws Exception;
 int delete(int id) throws Exception;
 List<Users> selectAll() throws Exception;
 通用
  int operate(String sql,Object[] obj)throws Exception;//把每一个对象的参数作为一个数组

接口实现

List selectAll()查询数据
Listlist=new ArrayList<>();
con=db.getConnect();
String sql=“select id,name from info”; ps=con.prepareStatement(sql);
rs=ps.executeQuery();
//迭代遍历
while(rs.next()){
Users u=new Users();
u.setId(rs.getInt(“id”));
u.setName(rs.getString(“name”));
list.add(u);
}
db.close(con,ps);
return list;

@Override//通用增删改方法 简单
con=db.getConnect();
ps=con.prepareStatement(sql);

    //用循环数组设置参数
    for(int i=0;i<obj.length;i++){
        ps.setObject(i+1,obj[i]);
    }
    int i=ps.executeUpdate();
    db.close(con,ps);
    return i;

测试
Operation op=new Operation();
int i= op.insert(“王旭”,“男”,24);
if(i==1){
System.out.println(“操作成功”);
}else{
System.out.println(“操作失败”);
}

       op.update("聪聪","男",24,4);
       op.delete(4);

显示所有名单
List list=op.selectAll();
for(Users u:list){
System.out.println(u.getId()+"\t"+u.getName());
}
} catch (Exception e) {
e.printStackTrace();
}

IDEA连接 JDBC 数据库的步骤如下: 1. 添加 JDBC 驱动包 在项目中添加 JDBC 驱动,可以直接将 JDBC 驱动包(如 mysql-connector-java.jar)放在项目的 lib 目录下,或者使用 Maven 等构建工具添加依赖。 2. 创建数据库连接IDEA 的 Database 工具窗口中,点击加号(Add)图标,选择 Data Source -> MySQL(或其他数据库类型),填写数据库连接信息,包括主机地址(Host)、端口号(Port)、数据库名称(Database)、用户名(User)和密码(Password),点击 Test Connection 按钮测试连接是否成功。 3. 在代码中使用数据库连接 在代码中使用 JDBC API 连接数据库,如下代码所示: ```java Connection conn = null; try { // 加载 JDBC 驱动 Class.forName("com.mysql.jdbc.Driver"); // 创建数据库连接 String url = "jdbc:mysql://localhost:3306/test"; String user = "root"; String password = "123456"; conn = DriverManager.getConnection(url, user, password); // 执行 SQL 语句 Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM users"); while (rs.next()) { int id = rs.getInt("id"); String name = rs.getString("name"); // 处理查询结果 } } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } finally { // 关闭数据库连接 if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } ``` 注意:在实际开发中,应该使用连接池来管理数据库连接,避免频繁创建和关闭连接,提高性能和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值