JDBC(java Database Connectivity)数据库连接(客户端如何访问数据库):

JDBC(java Database Connectivity)数据库连接(客户端如何访问数据库):

主流架构(两种架构):

1、BS架构(Browser and server)浏览器服务器架构-------》web、javaweb、phpweb

2、CS架构(Client and server)客户端服务器架构---------》QQ、微信

主要是使用java程序对数据库的访问

JDBC连接步骤:

加载驱动----->建立连接------>执行语句------>得到结果集

1、加载驱动:

首先需要导入jar包,可以在Moven Repository中寻找本机版本中所需要的驱动代码,复制到中。

<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>8.0.11</version>
    </dependency>

2、建立连接:

驱动程序名

Class.forName("com.mysql.cj.jdbc.Dviver ");

//URL指向要访问的数据库名scutcs

连接数据库:DriverManager.getConnection(“jdbc:mysql://localhost:3306/l? serverTimezone=GMT&useSSL=false&allowPublicKeyRetrieval=true”,“root”,“1234”);

第一个参数是数据库链接地址(不同数据库会有不同的连接地址,由数据库厂商提供),第二个参数是用户名,第三个参数是密码

3306之后的l:代表的是自己建立的数据库名称。
时区:serverTimezone=GMT
数据库的地址简化:使用resource中的resource bundle建立一个新的properties,

​ (主要是避免因数据库的地址改变而影响整个代码的改变)

jdbc.url=jdbc:mysql://localhost:3306/l?serverTimezone=GMT&useSSL=false&allowPublicKeyRetrieval=true
jdbc.username=root
jdbc.password=1234
//该段代码不能出现有空格键或者是tab键的情况
properties.load(this.getClass().getClassLoader().getResourceAsStream(“db.properties”));
        Connection  conn= DriverManager.getConnection(properties.getProperty("jdbc.url"),properties.getProperty("jdbc.username"),properties.getProperty("jdbc.password"));
public void init()
{
  try{
        Class.forName("com.mysql.cj.jdbc.Dviver ");
        Connection  conn= DriverManager.getConnection("jdbc:mysql://localhost:3306/l?			serverTimezone=GMT&useSSL=false&allowPublicKeyRetrieval=true","root","1234");
		PreparedStatement preparedStatement=conn.prepareStatement("select * from lzx;");
		ResultSet resultSet=((PreparedStatement) preparedStatement).executeQuery();
     	while(resultSet.next())
            {
                //打印查询出来的第一个字段
                System.out.println(resultSet.getString(1));
                System.out.println(resultSet.getString(2));
            }
			resultSet.Close();
        }catch (ClassNotFoundException e) {
            e.printStackTrace();
        }catch(SQLException e)
        {
            e.printStackTrace();
        }
    }
查询主要语句
PreparedStatement preparedStatement=conn.prepareStatement("select * from lzx;");
	ResultSet resultSet=((PreparedStatement) preparedStatement).executeQuery();
 	while(resultSet.next())
        {
            //打印查询出来的第一个字段
            System.out.println(resultSet.getString(1));
            System.out.println(resultSet.getString(2));
        }
        
 //结果集展示语句:
ResultSet resultSet=((PreparedStatement) preparedStatement).executeQuery()
插入语句:
preparedStatement.executeUpdate("insert into user values (\"酱紫\",\"41702253\",19);");
删除语句:
preparedStatement.executeUpdate("delete from user where name=\"酱紫\"");
executeQuery:实现查询功能,用于产生单个的结果集。
executeUpdate:实现mysql语句中的删除delete,修改update,增加insert语句。
execute:也可以mysql语句,但它可以返回一个Boolean值,表明执行了该MySQL语句是否返回了 resultset
 conn = DriverManager.getConnection(url , user , pass); 
            stmt = conn.createStatement();
            boolean hasResultSet = stmt.execute(sql); 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值