网站域名跳转怎么弄,怎么做加盟美容院网站,三河市城乡建设局网站,go搭建网站目录 一、数据库编程的前置
二、Java的数据库编程----JDBC
1.概念
2.JDBC编程的优点
三.导入MySQL驱动包
四、JDBC编程的实战
1.创造数据源#xff0c;并设置数据库所在的位置#xff0c;三条固定写法
2.建立和数据库服务器之间的连接#xff0c;连接好了后#xff…目录 一、数据库编程的前置
二、Java的数据库编程----JDBC
1.概念
2.JDBC编程的优点
三.导入MySQL驱动包
四、JDBC编程的实战
1.创造数据源并设置数据库所在的位置三条固定写法
2.建立和数据库服务器之间的连接连接好了后才能进行后续的 请求-响应 交互。
3.构造SQL语句
4.把sql发给服务器
5.释放资源关闭连接
五、动态拼接写法 一、数据库编程的前置
1.编程语言如 Java C 、 C 、 Python 等 。2.数据库如 Oracle MySQL SQL Server 等 。3.数据库驱动包不同的数据库对应不同的编程语言提供了不同的数据库驱动包如 MySQL 提供了 Java 的驱动包 mysql-connector-java 需要基于 Java 操作 MySQL 即需要该驱动包。同样的要基于 Java 操作 Oracle 数据库则需要 Oracle 的数据库驱动包 ojdbc。 二、Java的数据库编程----JDBC
1.概念
JDBC是数据库连接是一种用于执行SQL语句的java API,就类似于一个网址,它是java中的数据库连接规范,这个API里面由java.sql.*,javax.sql.*包中的一些类和接口组成,这些都可以为实现sql做基础,这些都为java开发人员操作数据库提供了一个标准的API,可以为多重关系数据库提供同意的访问。
2.JDBC编程的优点
直接底层操作提供了简单便捷的访问数据库的方法跨平台性较强灵活比较强可以执行很复杂的SQL语句说白了就是JDBC要通过Java代码操作数据库。
三.导入MySQL驱动包
1准备数据库驱动包
首先我们需要去MySQL的Maven中央仓库下载我们的jar包。
Maven中央仓库 --输入mysql--MySQL Connector Java --选择版本
必须选择和我们MySQL对应的版本博主使用的就是MySQL5.7系列的那么选择5开头的任意一个都可以点击进去。 我们有两种方法导入驱动包。
1.导入jar包
2.依赖注入 这里我们只讲这种个人认为这种方法最为简便
我们上一步之后跳转以下页面复制以下内容粘贴到 pom.xml文件 dependencies /dependencies中然后刷新以下Maven 这样我们的依赖注入就完成了。。 四、JDBC编程的实战
一般的jdbc开发分为五大具体步骤。
1.创造数据源并设置数据库所在的位置三条固定写法
DataSource dataSourcenew MysqlDataSource();
((MysqlDataSource)dataSource).setUrl(jdbc:mysql://127.0.0.1:3306/textclass?characterEncodingutf8useSSLfalse);
((MysqlDataSource)dataSource).setUser(root);//设置用户名 固定是root 也可以配置别的
((MysqlDataSource)dataSource).setPassword(数据库密码);//设置密码 登录数据库密码
分析 setUrl() 方法里边内容:
jdbc:mysql 表示这个url是给jdbc中的mysql来使用的。
127.0.0.1 表示IP地址- 这里称为环回IP 表示主机自己(相当于Java中的this)。
3306 代表端口号 一般默认是3306 这么多程序你要把网络数据交给哪个程序呢
textclass表示要访问的数据库名。
characterEncodingutf8 访问的字符编码方式。
useSSLfalse useSSL表示加密此处没必要加密 手动关闭。
2.建立和数据库服务器之间的连接连接好了后才能进行后续的 请求-响应 交互。
Connection connectiondataSource.getConnection(); 注意是第一个我们很多人都选过第二个导致报错哈哈哈哈哈
3.构造SQL语句
假如我们要往student表中插入一条数据。首先是要有student这张表提前已经创建过了
String sq1 insert into student values(1,张三);//描述了sql是啥样的
真正执行SQL语句用到PreparedStatement这个类库后面的括号里面传入我们的SQL语句。
PreparedStatement statement connection.prepareStatement(sq1);//真正的执行语句
4.把sql发给服务器
返回值是一个整数表示影响到的行数
这里面我们会用到executeUpdate这个函数它的返回值是一个整数我们定义一个ret用来接收
int n statement.executeUpdate();System.out.println(n n);
注意 针对 增 删 改使用executeUpdate 针对 查 使用executeQuery。
5.释放资源关闭连接
释放顺序是后获取到的资源先释放与创建的顺序是相反的
statement.close();
connection.close();
五、动态拼接写法
那么这里步骤没有变化唯一变化的就是我们需要添加输入语句还有sql的写法
输入语句
Scanner sc new Scanner(System.in);System.out.println(请输入学号:);int id sc.nextInt();System.out.println(请输入姓名:);String name sc.next();拼接写法SQL
String sql insert into student values(id,name);
PreparedStatement statement connection.prepareStatement(sql);
那么这种字符串拼接的方式 是不是太丑了呢如何改进
使用下面的动态拼接,注意写法我们通过?的形式这里我们称之为占位符实现我们的构造。
String sq1 insert into student values(?,?);//动态拼接
PreparedStatement statement connection.prepareStatement(sq1);statement.setInt(1,id);//按照下标依次替换 注意下标从1开始计算statement.setString(2,name);
System.out.println(sql statement);import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;public class Demo1 {public static void main(String[] args) throws SQLException {//1.创建 DateSourceDataSource dataSourcenew MysqlDataSource();((MysqlDataSource)dataSource).setUrl(jdbc:mysql://127.0.0.1:3306/textclass?characterEncodingutf8useSSLfalse);((MysqlDataSource)dataSource).setUser(root);((MysqlDataSource)dataSource).setPassword(2003);//2.建立和数据库服务器之间的连接连接好了后才能进行后续的 请求-响应 交互。Connection connectiondataSource.getConnection();//3.构造sqlString sql insert into student values(1,张三);PreparedStatement statement connection.prepareStatement(sql);//4.把sql发给服务器,返回值是一个整数表示影响到的行数int n statement.executeUpdate();System.out.println(n n);//5.释放资源关闭连接释放顺序是后获取到的资源先释放statement.close();connection.close();}
}