当前位置:网站首页>Initial JDBC programming
Initial JDBC programming
2022-07-31 11:07:00 【m0_54853503】

目录
??具体操作
1、打开IDEA,先创建一个新工程

2、引入依赖,JDBC编程需要用到mysql的驱动包.(驱动包就是把mysq|自身的api给转换成jdbc风格的).下载驱动包,选择与自己mysql版本对应版本的驱动包.

3、将驱动包导入到项目中
1)先在刚刚创建的新工程里面创建一个目录

2)把下载的jar文件拷贝到刚刚创建的目录中
3)右键刚才的目录,选择Add as library…

4、编写代码
??JDBC的基本编程流程
1、创建DataSource对象,这个对象就描述了数据库服务器在哪.

描述服务器在哪

2、让代码和数据库服务器进行连接
Connection connection=dataSource.getConnection();

3、对数据库进行操作
以插入数据为例:
//关键所在就是构造一个 SQL 语句
String sql="insert into student values(1,“张三”)";
// 此处光是一个 String 类型的 sql 还不行, 需要把这个 String 包装成一个 "语句对象"
PreparedStatement statement=connection.prepareStatement(sql);
4、执行SQL
// SQL 里面如果是 insert, update, delete, 都使用 executeUpdate 方法.
// SQL 里面如果是 select, 则使用 executeQuery 方法.
//返回值就表示这个操作, 影响到了几行.
int ret= statement.executeUpdate();
System.out.println(ret);
5、SQL执行完毕后,释放资源
//先创建后释放
statement.close();
connection.close();
具体代码如下:
public class TestJDBC {
public static void main(String[] args) throws SQLException {
Scanner scanner=new Scanner(System.in);
//1、创建数据源
DataSource dataSource=new MysqlDataSource();
//设置数据库所在位置
((MysqlDataSource) dataSource).setURL("jdbc:mysql://127.0.0.1:3306/testdemo?characterEncoding=utf8&useSSL=false");
//设置登录数据库的用户名
((MysqlDataSource) dataSource).setUser("root");
//设置登录数据库的密码
((MysqlDataSource) dataSource).setPassword("123456");
//2、让代码和数据库服务器建立连接
Connection connection=dataSource.getConnection();
//2.1 从控制台输入数据
System.out.println("请输入学号:");
int id=scanner.nextInt();
System.out.println("请输入姓名");
String name=scanner.next();
//3、操作数据库,以插入数据为例
//关键所在就是构造一个 SQL 语句
String sql="insert into student values(?,?)";
//?相当于占了一个位置,这两个字段的值还不确定,下面用PrepareStatement中的setxxx系列方法进行替换
// 此处光是一个 String 类型的 sql 还不行, 需要把这个 String 包装成一个 "语句对象"
PreparedStatement statement=connection.prepareStatement(sql);
//进行替换操作
statement.setInt(1,id);
statement.setString(2,name);
System.out.println("statement:"+statement);
// 4、执行 SQL
// SQL 里面如果是 insert, update, delete, 都使用 executeUpdate 方法.
// SQL 里面如果是 select, 则使用 executeQuery 方法.
// 返回值就表示这个操作, 影响到了 几行. 就相当于在控制台里输入 sql 之后, 得到的数字
int ret= statement.executeUpdate();
System.out.println(ret);
//5、此时SQL执行完毕,需要释放资源
//先创建后释放
statement.close();
connection.close();
}
}
??小结
以上就是今天的内容了,有什么问题大家可以在评论区留言

先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在.深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小.自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前.因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担.添加下方名片,即可获取全套学习资料哦
边栏推荐
- unity computeshader的可读写buffer
- 生命不息,刷题不止,简单题学习知识点
- 文件包含漏洞
- MySQL index usage and optimization
- darknet 硬件软件环境的设置和检测
- PyQt5快速开发与实战 9.5 PyQtGraph在PyQt中的应用 && 9.6 Plotly在PyQt中的应用
- 基于Multisim的函数信号发生器–方波、三角波、正弦波[通俗易懂]
- IBM SPSS Statistics 28软件安装包下载及安装教程
- 3.网页信息解析方法:Xpath与BeautifulSoup
- 解决报错TypeError:unsupported operand type(s) for +: ‘NoneType‘ and ‘str‘
猜你喜欢
随机推荐
redis-enterprise use
基于Multisim的函数信号发生器–方波、三角波、正弦波[通俗易懂]
医院管理系统数据库,课程设计,SQLserver,纯代码设计
musl Reference Manual
What does "chmod 777-R filename" mean?
一文带你了解redux的工作流程——actionreducerstore
【JWT】JWT 整合
Redis缓冲穿透和缓冲击穿工具类的封装
Sql optimization summary!detailed!(Required for the latest interview in 2021)
【云原生监控系列第一篇】一文详解Prometheus普罗米修斯监控系统(山前前后各有风景,有风无风都很自由)
最全phpmyadmin漏洞汇总
Detailed explanation of SQL stored procedures
单点登录的三种方式
若枚举映射的值不存在,则不进行反序列化
"JUC Concurrent Programming - Advanced" 06 - Immutability of Shared Models (Design of Immutable Classes | Use of Immutable Classes | Flyweight Pattern)
解决报错TypeError:unsupported operand type(s) for +: ‘NoneType‘ and ‘str‘
一、excel转pdf格式jacob.jar
Windows系统Mysql8版本的安装教程
Experience innovation and iteration through the development of a lucky draw applet
SQLSERVER merges subquery data into one field
![AtCoder—E - Σ[k=0..10^100]floor(X/10^k](/img/be/82cfab00950c1f28d426e76a792906.png)






![[ 图 论 ]二分图判定及其匹配(基础+提高)](/img/79/56f750e71f558debe3d99404e296e3.png)
