使用JDBC连接数据库执行sql语句,创建数据库连接池 快来打我* 2024-04-24 04:46 45阅读 0赞 > JDBC俗称java数据库连接(java database connectivity) > > 我们使用IDEA开发工具,准备工作如下: > pom.xml配置mysql:<!--配置mysql驱动--> > <dependency> > <groupId>mysql</groupId> > <artifactId>mysql-connector-java</artifactId> > <version>8.0.27</version> > </dependency> > 完成以上配置即可在.java文件中进行操作了 > > 首先我们应该清楚知道java开发工具连接数据库有什么好处 > 1、将数据放数据库能更好的保存数据,数据库里的数据也更好操作管理 > 2、可以用java语言操纵sql语句去调用数据库数据到程序中 > 3、JDBC是有SUM提供的一套API,是使用java连接数据的一套标准API接口,各个数据库提供上都实现了这一条接口提供了 > 连接其提供的数据库产品的实现类(以jar包形式,又称为连接该数据库的驱动包) > > 使用JDBC连接数据库分为以下三步: > 1、加载驱动: Class.forName("数据库包名") > 2、连接数据库:DriverManager.getConnection("数据库url(每种数据库有指定格式)",用户名,密码); > 3、获取执行对象:有两种方式,一种是预编译执行对象prepareStatement(sql语句);还有一种是直接编译创建createStatement(sql语句); > > 前两步是固定操作(随着数据库的改变而改变),我们重点学习第3步骤 > 首先我们介绍执行sql语句的方法有: > execute是执行DDL(create、drop、alter)语句; > executeUpdate是执行DML(delete、update、insert)语句; 返回int数据,插入N条数据成功返回值就返回成功值N > executeQuery是执行DQL(select)语句;返回结果集ResultSet,可以查询表中get对应字段信息。 > 1、createStatement用法: > Statement st = Connection连接对象.createStatement(); > int num = st.executeUpdate(sql语句); > ResultSet rs = st.executeQuery(sql语句); > while(ResultSet返回值结果集.next()){ > 字段类型 name = get[字段类型](字段名/字段位置); > ... > }; > > 执行方法:① 创建Statement执行对象。 > ② 执行Statement执行对象方法execute(传入拼接好的sql语句)。 > ③ 多次执行同一条语句每次执行的是将整个执行对象发送给数据库服务器(耗性能) > ④ 判断返回值要是碰到DQL语句executeQuery的话返回ResultSet结果集还需要进行操作。 > ⑤ ResultSet结果集拿取数据首先要获取下一个行next()(这是mysql的操作,一次只能拿取一行信息,数据库不同拿取操作和内容也不径相同)。 > ⑥ 可以通过next()拿取一行数据来获取字段信息。当然我们可加个while循环判断就可以拿取查询的全部行信息了。 > ⑦ 在next拿到数据行之后,使用get字段类型("字段名"/字段位置)来获取当前一行中某个字段(相当于指定行指定列找到单元格一样),不同的字段需要不同的类型接收。 > > > 2、prepareStatement用法: > String sql = "sql语句 可变参数用?表示[不能代表字段或表来使用,只能做一 个参数变量]" > PreparedStatement ps = Connection连接对象.prepareStatement(sql); > ps.set[字段类型](第几个?号位置,传入字段数据); > ... > int返回值 = ps.execteUpdate(); > > ResultSet返回值结果集 = ps.execteQuery(); > while(ResultSet返回值结果集.next()){ > 字段类型 name = get[字段类型](字段名/字段位置); > ... > }; > 执行方式:① 先将带参(占位符?)的sql语句prepareStatement预处理(同条sql语句只执行一次,在不断变化的是参数值) > ② 将参数用set方式给?占位符传递,可以不同的位置多次传递,传递对象是判断条件中的字面量或者字段值,但是不能将占位符看做表来使用。 > ③ 用不同的execte执行方法执行不同的sql语句,预编译时传了sql语句,且返回值也不同。 > ④ 判断返回值要是碰到DQL语句executeQuery的话返回ResultSet结果集还需要进行操作。 > ⑤ ResultSet结果集拿取数据首先要获取下一个行next()(这是mysql的操作,一次只能拿取一行信息,数据库不同拿取操作和内容也不径相同)。 > ⑥ 可以通过next()拿取一行数据来获取字段信息。当然我们可加个while循环判断就可以拿取查询的全部行信息了。 > ⑦ 在next拿到数据行之后,使用get字段类型("字段名"/字段位置)来获取当前一行中某个字段(相当于指定行指定列找到单元格一样),不同的字段需要不同的类型接收。 > > 如此我们可以两者区分得出以下结论: > 1、PreparedStatement的sql语句可通过?占位来传参。Statement是通过字符串拼接的方式传递参数。 > 两者最大的区别是什么呢? > 2、?占位传参的话是需要指定?号位置和传入对应参数指定字段类型的。而字符串拼接是连sql句都可以传入进去(易被sql注入风险)直接更改执行语句。 > 3、在执行性能上,如果执行N条相同的sql语句时Statement(传n条执行语句)执行效率是比不上PreparedStatement(传n条语句的每个占位符实参)的。 > 4、多次执行同一条[传参]sql语句的话不建议使用Statement,无论从语法可读性、安全考虑还是性能考虑都应该使用预编译执行方式PreparedStatement。 > > > > > 数据库连接池 > pom配置:<!-- 数据库连接池 --> > <dependency> > <groupId>com.alibaba</groupId> > <artifactId>druid</artifactId> > <version>1.1.21</version> > </dependency> > > Druid是阿里提供的数据库连接池。 > 连接池的主要作用: > 1、控制连接数量 > 2、重用连接 > 常用操作语法: DruidDataSource dds = new DruidDataSource(); //设置连接池 > //设置连接池数据库的基本信息: > dds = new DruidDataSource(); //实例化连接池对象 > dds.setUrl(数据库Url地址(不同的数据库有不同的地址)); > dds.setUsername(数据库用户名); > dds.setPassword(数据库密码); > dds.setInitialSize(初始线程数); > dds.setMaxActive(最大连接数(当初始线程数不够用时才使用)); > //就可以开始连接数据库了 > Connection connection = dds.getConnection(可以设置连接超时间隔时间);
相关 Java JDBC编程:连接数据库、执行SQL语句的案例 以下是一个使用Java JDBC(Java Database Connectivity)编程,连接MySQL数据库并执行SQL语句的简单案例。 首先,你需要添加JDBC驱动到 冷不防/ 2024年09月18日 12:27/ 0 赞/ 13 阅读
相关 Oracle JDBC驱动使用:连接数据库并执行SQL语句 Oracle JDBC驱动的使用通常包括以下几个步骤: 1. **添加依赖**:在你的项目中,如果你使用的是Maven或Gradle等构建工具,你需要添加Oracle Jav 清疚/ 2024年09月11日 18:48/ 0 赞/ 21 阅读
相关 使用JDBC连接数据库执行sql语句,创建数据库连接池 JDBC的三步操作:1、加载驱动 2、连接数据库 3、获取执行对象 快来打我*/ 2024年04月24日 04:46/ 0 赞/ 46 阅读
相关 JDBC --- 数据库连接池 & Druid使用 目录 数据库连接池 介绍 好处 数据库连接池的实现 常见的数据库连接池 Druid(德鲁伊) 介绍 Driud使用 配置文件 代码 ----------- - 日理万妓/ 2024年03月30日 12:05/ 0 赞/ 30 阅读
相关 JDBC:数据库连接池简介 数据库连接池 1. 概念:其实就是一个容器(集合),存放数据库连接的容器。 当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问 蔚落/ 2024年03月22日 15:01/ 0 赞/ 44 阅读
相关 JDBC数据库连接池 1、 数据库频繁连接的问题 JDBC技术操作数据库,每次和数据库连接成功,执行SQL语句,释放资源。数据库的连接过程比较消耗资源,消耗的是网络资源,和数据库连接都是TCP ゝ一世哀愁。/ 2024年03月17日 20:10/ 0 赞/ 57 阅读
相关 JDBC数据库连接池 DriverManager的实现方式一般是在主程序中建立数据库的连接,然后进行数据库的操作,操作完毕后断开数据库连接。然而这种模式存有一些问题。 1. 普通的JDBC数据库 分手后的思念是犯贱/ 2021年11月10日 06:12/ 0 赞/ 363 阅读
相关 JDBC 与 数据库连接池 JDBC JDBC 是一个规范,它提供了一整套接口,允许底层数据库实现该 API 从而实现通过 Java 对数据库的访问,主要有以下几个类: 妖狐艹你老母/ 2021年09月16日 23:46/ 0 赞/ 494 阅读
还没有评论,来说两句吧...