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中寻找本机版本中所需要的驱动代码,复制到中。


    
      mysql
      mysql-connector-java
      8.0.11
    

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); 

你可能感兴趣的:(数据库)