Java连接数据库

目录

1.jdbc


1.jdbc

 参考代码:
package com.hp.study;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class jdbc01 {

/* statement 有两个常用方法
1.executeUpdate 用于 新增  删除 修改
2.executeQuery 用于 查询
*
*
*
*
* */






    public static void main(String[] args) throws Exception {
       f4();
    }

    private static void f5() throws Exception {
        //1.注册驱动-反击去加载jar包中的com.mysql.jdbc.Driver这个类中的DriverManager.registerDriver(new Driver());
        Class.forName("com.mysql.jdbc.Driver");
        //2.获取连接对象
        Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/summer-camp2023?characterEncoding=utf8","root","root");
        System.out.println(con);
        //3.定义sql
        String sql="select *from t_dept ";
        //4.需要创建statement
        Statement statement=con.createStatement();
        //5.statement执行sql,返回 结果集
        ResultSet rs=statement.executeQuery(sql);
        //6.解析rs
        while (rs.next()){//读取结果集的光标向下移动一行,光标默认在哪一行,列名所在的那一行
            int did = rs.getInt("did");
            String dname=rs.getString("dname");
            String dlocation=rs.getString("dlocation");
            String leader=rs.getString("leader");
            System.out.println(did+"--"+dname+"--"+dlocation+"--"+leader);
        }


        //7,关闭资源
        statement.close();
        con.close();
    }
//向部门查询一条数据
    private static void f4() throws Exception {
        //1.注册驱动-反击去加载jar包中的com.mysql.jdbc.Driver这个类中的DriverManager.registerDriver(new Driver());
        Class.forName("com.mysql.jdbc.Driver");
        //2.获取连接对象
        Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/summer-camp2023?characterEncoding=utf8","root","root");
        System.out.println(con);
        //3.定义sql
        String sql="select *from t_dept where did=19";
        //4.需要创建statement
        Statement statement=con.createStatement();
        //5.statement执行sql,返回 结果集
        ResultSet rs=statement.executeQuery(sql);
        //6.解析rs
        rs.next();//读取结果集的光标向下移动一行,光标默认在哪一行,列名所在的那一行

        int did = rs.getInt("did");
        String dname=rs.getString("dname");
        String dlocation=rs.getString("dlocation");
        String leader=rs.getString("leader");
        System.out.println(did+"--"+dname+"--"+dlocation+"--"+leader);
        //7,关闭资源
        statement.close();
        con.close();
    }
//向部门表修改一条数据
    private static void f3()  throws Exception {
        //1.注册驱动-反击去加载jar包中的com.mysql.jdbc.Driver这个类中的DriverManager.registerDriver(new Driver());
        Class.forName("com.mysql.jdbc.Driver");
        //2.获取连接对象
        Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/summer-camp2023?characterEncoding=utf8","root","root");
        System.out.println(con);
        //3.定义sql
        String sql="update t_dept set leader='胡强峰' where did=19";
        //4.需要创建statement
        Statement statement=con.createStatement();
        //5.statement执行sql,返回 插入了几行
        int i=statement.executeUpdate(sql);
        System.out.println("向数据库t_dept表修改了"+i+"行数据");
        //6,关闭资源
        statement.close();
        con.close();
    }
//向部门删除一条数据
    private static void f2()  throws Exception {
        //1.注册驱动-反击去加载jar包中的com.mysql.jdbc.Driver这个类中的DriverManager.registerDriver(new Driver());
        Class.forName("com.mysql.jdbc.Driver");
        //2.获取连接对象
        Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/summer-camp2023?characterEncoding=utf8","root","root");
        System.out.println(con);
        //3.定义sql
        String sql="delete from t_dept where did=10";
        //4.需要创建statement
        Statement statement=con.createStatement();
        //5.statement执行sql,返回 插入了几行
        int i=statement.executeUpdate(sql);
        System.out.println("向数据库t_dept表删中除了"+i+"行数据");
        //6,关闭资源
        statement.close();
        con.close();
    }
//向部门表插入一条数据
    private static void f1() throws Exception {
        //1.注册驱动-反击去加载jar包中的com.mysql.jdbc.Driver这个类中的DriverManager.registerDriver(new Driver());
        Class.forName("com.mysql.jdbc.Driver");
        //2.获取连接对象
        Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/summer-camp2023?characterEncoding=utf8","root","root");
        System.out.println(con);
        //3.定义sql
        String sql="insert into t_dept values(null,'乌克兰分布','基辅','胡强峰')";
        //4.需要创建statement
        Statement statement=con.createStatement();
        //5.statement执行sql,返回 插入了几行
        int i=statement.executeUpdate(sql);
        System.out.println("向数据库t_dept表插入了"+i+"行数据");
        //6,关闭资源
        statement.close();
        con.close();
    }
}
 
(1)创建数据库

 使用以下代码创建数据库,

CREATE TABLE `t_dept` (
  `did` int NOT NULL AUTO_INCREMENT,
  `dname` varchar(30) DEFAULT NULL,
  `dlocation` varchar(30) DEFAULT NULL,
  `leader` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`did`)
) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=utf8mb3;

insert  into `t_dept`(`did`,`dname`,`dlocation`,`leader`) values (1,'北京分部','中关村','陈总'),(2,'上海分部','上海世贸大厦','李总'),(3,'广州分部','广州双子塔','徐总'),(4,'深圳分部','深圳信兴广场','蒋总'),(5,'武汉分部','武汉绿地中心','王总'),(6,'杭州分部','浙江环球中兴','江总'),(7,'美国分部','五角大楼','梁总'),(8,'俄罗斯分部','莫斯科红场','周总'),(9,'法国分部','塞纳河畔','吴总'),(10,'德国分部','德国帝国国会大厦','曹总'),(11,'印度分部','曼谷','陈总'),(12,'越南分部','首都','陈总'),(13,'土耳其分部','首都','陈总'),(14,'希腊分部','首都','陈总'),(15,'联合国总部','首都','陈总'),(16,'欧盟分部','首都','陈总'),(17,'阿拉伯分部','首都','陈总');

CREATE TABLE `t_emps` (
  `id` varchar(32) NOT NULL,
  `name` varchar(20) DEFAULT NULL,
  `sex` varchar(3) DEFAULT NULL,
  `birth` date DEFAULT NULL,
  `salary` double DEFAULT NULL,
  `deptId` int DEFAULT NULL,
  PRIMARY KEY (`id`)
) 

insert  into `t_emps`(`id`,`name`,`sex`,`birth`,`salary`,`deptId`) values ('a0001','曹操','男','1021-06-01',8000,1),('a0002','曹植','男','1021-06-01',7500,1),('a0003','曹丕','男','1021-06-01',7600,1),('a0004','曹冲','男','1021-06-01',7700,1),('a0005','曹仁','男','1021-06-01',7200,1),('b0001','貂蝉','女','1021-07-01',6000,2),('b0002','大乔','女','1021-07-01',6100,2),('b0003','小乔','女','1021-07-01',6200,2),('b0004','孙小妹','女','1021-07-01',6300,2),('b0005','曹妃','女','1021-07-01',6400,2),('c0001','刘备','男','1021-08-01',9000,3),('c0002','关羽','男','1021-08-01',8800,3),('c0003','张飞','男','1021-08-01',8600,3),('c0004','赵云','男','1021-08-01',8400,3),('c0005','马超','男','1021-08-01',8500,3),('d0001','孙权','男','1021-09-01',9200,4),('d0002','吕蒙','男','1021-09-01',8000,4),('d0003','陆逊','男','1021-09-01',7800,4),('d0004','鲁肃','男','1021-09-01',8300,4),('d0005','周瑜','男','1021-09-01',8600,4),('e0001','董卓','男','1021-10-01',10000,5),('e0002','吕布','男','1021-10-01',9900,5),('e0003','丁原','男','1021-10-01',9800,5),('e0004','袁绍','男','1021-10-01',10200,5),('e0005','袁术','男','1021-10-01',10100,5);

结果如下:

 

(2) java代码(查询):

​
package com.hp.study;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class jdbc01 {

/* statement 有两个常用方法
1.executeUpdate 用于 新增  删除 修改
2.executeQuery 用于 查询
*
*
*
*
* */






    public static void main(String[] args) throws Exception {
       f4();
    }

   
    private static void f4() throws Exception {
        //1.注册驱动-反击去加载jar包中的com.mysql.jdbc.Driver这个类中的DriverManager.registerDriver(new Driver());
        Class.forName("com.mysql.jdbc.Driver");
        //2.获取连接对象
        Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/summer-camp2023?characterEncoding=utf8","root","root");
        System.out.println(con);
        //3.定义sql
        String sql="select *from t_dept where did=19";
        //4.需要创建statement
        Statement statement=con.createStatement();
        //5.statement执行sql,返回 结果集
        ResultSet rs=statement.executeQuery(sql);
        //6.解析rs
        rs.next();//读取结果集的光标向下移动一行,光标默认在哪一行,列名所在的那一行

        int did = rs.getInt("did");
        String dname=rs.getString("dname");
        String dlocation=rs.getString("dlocation");
        String leader=rs.getString("leader");
        System.out.println(did+"--"+dname+"--"+dlocation+"--"+leader);
        //7,关闭资源
        statement.close();
        con.close();
    }

    
    
}

​

得以下结果:

 (3)java代码(修改):

package com.hp.study;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class jdbc01 {

/* statement 有两个常用方法
1.executeUpdate 用于 新增  删除 修改
2.executeQuery 用于 查询
*
*
*
*
* */






    public static void main(String[] args) throws Exception {
       f3();
    }

//向部门表修改一条数据
    private static void f3()  throws Exception {
        //1.注册驱动-反击去加载jar包中的com.mysql.jdbc.Driver这个类中的DriverManager.registerDriver(new Driver());
        Class.forName("com.mysql.jdbc.Driver");
        //2.获取连接对象
        Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/summer-camp2023?characterEncoding=utf8","root","root");
        System.out.println(con);
        //3.定义sql
        String sql="update t_dept set leader='林肯' where did=19";
        //4.需要创建statement
        Statement statement=con.createStatement();
        //5.statement执行sql,返回 插入了几行
        int i=statement.executeUpdate(sql);
        System.out.println("向数据库t_dept表修改了"+i+"行数据");
        //6,关闭资源
        statement.close();
        con.close();
    }


}

结果:

(4)Java代码(删除):

package com.hp.study;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class jdbc01 {

/* statement 有两个常用方法
1.executeUpdate 用于 新增  删除 修改
2.executeQuery 用于 查询
*
*
*
*
* */






    public static void main(String[] args) throws Exception {
       f2();
    }

//向部门删除一条数据
    private static void f2()  throws Exception {
        //1.注册驱动-反击去加载jar包中的com.mysql.jdbc.Driver这个类中的DriverManager.registerDriver(new Driver());
        Class.forName("com.mysql.jdbc.Driver");
        //2.获取连接对象
        Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/summer-camp2023?characterEncoding=utf8","root","root");
        System.out.println(con);
        //3.定义sql
        String sql="delete from t_dept where did=10";
        //4.需要创建statement
        Statement statement=con.createStatement();
        //5.statement执行sql,返回 插入了几行
        int i=statement.executeUpdate(sql);
        System.out.println("向数据库t_dept表删中除了"+i+"行数据");
        //6,关闭资源
        statement.close();
        con.close();
    }

}

 结果:(仅供参考)

 

 (5)Java代码(插入):

结果:

package com.hp.study;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class jdbc01 {

/* statement 有两个常用方法
1.executeUpdate 用于 新增  删除 修改
2.executeQuery 用于 查询
*
*
*
*
* */






    public static void main(String[] args) throws Exception {
       f1();
    }

//向部门表插入一条数据
    private static void f1() throws Exception {
        //1.注册驱动-反击去加载jar包中的com.mysql.jdbc.Driver这个类中的DriverManager.registerDriver(new Driver());
        Class.forName("com.mysql.jdbc.Driver");
        //2.获取连接对象
        Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/summer-camp2023?characterEncoding=utf8","root","root");
        System.out.println(con);
        //3.定义sql
        String sql="insert into t_dept values(null,'静安寺','方丈','胡强峰')";
        //4.需要创建statement
        Statement statement=con.createStatement();
        //5.statement执行sql,返回 插入了几行
        int i=statement.executeUpdate(sql);
        System.out.println("向数据库t_dept表插入了"+i+"行数据");
        //6,关闭资源
        statement.close();
        con.close();
    }
}

结果:

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值