JAVA德鲁伊连接MySQL数据库
环境配置
- @[TOC](环境配置)
- @[TOC](编写工具类Util)
- @[toc](测试代码块)
- 总结:到此完成了德鲁伊方法MySQL连接Java的全部过程
1,百度中搜索这几个工具类下载复制到ieda的libs目录中
2,写一个管道类,用于连接MySQL的参数传递
driverClassName=com.mysql.cj.jdbc.Driver
//数据库名
url=jdbc:mysql://localhost:3306/db01?useSSL=true&serverTimezone=GMT&useUnicode=true&characterEncoding=utf8
//如果是配置在本地计算机上的数据库还可以写成
#//url=jdbc:mysql:///db
//用户名
username=root
//密码
password=qwe123
//初始连接数量
initialSize=5
minIdle=5
//最大连接数量
maxActive=10
//最长超时等待
maxWait=3000
编写工具类Util
- @[TOC](环境配置)
- @[TOC](编写工具类Util)
- @[toc](测试代码块)
- 总结:到此完成了德鲁伊方法MySQL连接Java的全部过程
1,jdbcUtilesDruid工具包为了让java连接MySQL
import com.alibaba.druid.pool.DruidDataSourceFactory;import javax.sql.DataSource;
import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;public class jdbcUtilesDruid {//创建数据源public static DataSource ds;static {Properties properties = new Properties();try {//获取管道类properties.load(new FileInputStream("src\\druid.properties"));//管道连接数据源ds= DruidDataSourceFactory.createDataSource(properties);} catch (Exception e) {e.printStackTrace();}}//java连接MySQLpublic static Connection getconnection() throws SQLException{return ds.getConnection();}//关闭连接,在数据库连接池方法中,close不是真的断掉连接//而是把使用的connection对象放回到连接池中public static void close(ResultSet resultSet, Statement statement,Connection connection){try {if (resultSet != null) {resultSet.close();}if (statement!=null){statement.close();}if (connection!=null){connection.close();}} catch (SQLException e){throw new RuntimeException();}}
}
2,BsaicDAO工具包为了执行MySQL的操作(增删改查)
3,再创建一个包去继承工具包中的方法即可实现复用
import com.zouwentao.mhl.utlis.jdbcUtilesDruid;
import com.zouwentao.mhl.utlis.jdbcUtilesDruid;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import org.apache.commons.dbutils.handlers.ScalarHandler;import java.sql.Connection;
import java.sql.SQLException;
import java.util.List;public class BsaicDAO<T> {private QueryRunner qr= new QueryRunner();//修改数据表中列的值public int update(String sql,Object... parameters ){Connection connection=null;try {connection = jdbcUtilesDruid.getconnection();int update = qr.update(connection, sql, parameters);return update;} catch (SQLException e) {throw new RuntimeException(e);}finally {jdbcUtilesDruid.close(null,null,connection);}}/**** @param sql:sql语句,可以有?* @param clazz:传入一个类的class对象 比如Actor.class* @param parameters:传入?的具体值,可以是多个* @return:根据Acror。class,返回对应的ArrayList集合*///查询数据库中数据表语句public List<T> queryMulti(String sql,Class<T> clazz,Object...parameters){Connection connection=null;try {connection = jdbcUtilesDruid.getconnection();return qr.query(connection, sql, new BeanListHandler<T>(clazz), parameters);} catch (SQLException e) {throw new RuntimeException(e);}finally {jdbcUtilesDruid.close(null,null,connection);}}//查询单行结果通用方法public T querysingle(String sql,Class<T> clazz,Object...parameters){Connection connection=null;try {connection = jdbcUtilesDruid.getconnection();return qr.query(connection,sql,new BeanHandler<T>(clazz),parameters);} catch (SQLException e) {throw new RuntimeException(e);}finally {jdbcUtilesDruid.close(null,null,connection);}}//查询单行单列方法,即返回单值的方法public Object queryScalar(String sql,Object...parameters){Connection connection=null;try {connection = jdbcUtilesDruid.getconnection();return qr.query(connection,sql,new ScalarHandler(),parameters);} catch (SQLException e) {throw new RuntimeException(e);}finally {jdbcUtilesDruid.close(null,null,connection);}}
}
import com.zouwentao.mhl.domain.employee;public class EmployeeDAO extends BsaicDAO<employee> {}
测试代码块
- @[TOC](环境配置)
- @[TOC](编写工具类Util)
- @[toc](测试代码块)
- 总结:到此完成了德鲁伊方法MySQL连接Java的全部过程
1,以员工查询为例,调用查询语句
```java
import java.util.List;//该类完成对employee表的各种操作
public class EmployeeService {//定义一个EmployeeDAO属性private EmployeeDAO employeeDAO=new EmployeeDAO();public employee getEmployeeDAO(String empId,String pwd){return employeeDAO.querysingle("select * from employee where empId=? and pwd=md5(?)", employee.class//自己定义的员工类,存放员工属性, empId, pwd);}
}
总结:到此完成了德鲁伊方法MySQL连接Java的全部过程
JAVA德鲁伊连接MySQL数据库相关推荐
- java jdbc 连接mysql数据库 实现增删改查
好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打 ...
- eclipes Java代码连接Mysql数据库
Java代码连接Mysql数据库C 一.插件的下载与加载 1.下载与本地的MySQL对应版本的连接数据库的包,如mysql-connector-java-8.0.17.jar 下载Connector/ ...
- java JDBC连接MySQL数据库调用存储过程进行查询
java JDBC连接MySQL数据库调用存储过程进行查询 主程序代码 工具类 文件信息 存储过程 结果截图 主程序代码 package Mysql;import util.JDBCUtils; im ...
- Java JDBC 连接MySQL数据库方法(IJ版)
Java JDBC 连接MySQL数据库方法(IJ版) 首先说一下IJ建立项目步骤: 1.新建一个Empty Project 2.新建一个Module 3.在src里新建一个Package 4.在Pa ...
- java jdbc 连接mysql数据库,Java 通过JDBC连接Mysql数据库
JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口 ...
- Java如何连接Mysql数据库
条件:eclipse.MySQL .jdbc驱动 eclipse.MySQL 的安装.下载jdbc连接驱动 eclipse的安装去官网下载并安装 MySQL .jdbc的下载地址请访问:https:/ ...
- Java EE系列(九)——Java EE连接Mysql数据库(JDBC保姆级教学)
最近几天,peter xiao所在的项目小组也逐渐开始进行做最后的Java web课程大作业了,我们组所做的是运动会报名服务系统,其中涉及到很多数据的增删查改,所以需要依靠Mysql数据库来解决这些问 ...
- 德鲁伊连接mysql数据库_Druid(德鲁伊)连接数据库
Druid(德鲁伊)连接数据库: 连接mysql必导包[mysql-connector-java-5.1.47.jar] 使用druid连接数据库,首先需要导入相关jar包[例:druid-1.1.2 ...
- java中连接mysql数据库_java中怎么连接mysql数据库
展开全部 import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; i ...
最新文章
- JVM中垃圾收集算法
- [洛谷P3387]【模板】缩点
- DevExtreme 学习应用[1]
- mysql 批量_mysql LOAD语句批量录入数据
- 理解大型分布式网站你必须知道这些概念
- 什么是实验室人员比对人员_CNAS实验室认可对人员、设备的要求
- c study_13
- Unicode和ANSI之间转换 - NotePad++轻松实现
- java 短连接+MD5加密短链接
- delphi 2010 mysql_delphi2010读取MySQL数据库TEXT类型乱码的解决方案
- 测回角值计算用计算机,土木工程测量6-计算题库及参考答案
- 【智能柜领域】智能快递柜终端系统Axure原型作品(另有智能柜整套作品)
- 微信小程序调试过程中页面加载不出来
- CANopen协议基础知识
- 手机里面的照片被误删了怎么找回?
- 如何使用HomePod和Apple TV 4K设置家庭影院音频?
- Flink系列之Flink 流式编程模式总结
- 【C语言】-万字博客详解任意棋盘的三子棋小游戏!!!快进来瞅瞅吧
- 基于SVM算法的股票预测分析
- 1157 -- 茵茵的第一课
热门文章
- mysql5.5配置向导官方文档【中文翻译版】
- ue4 SU-PQR5解决方法
- 计算机组成原理笔记【全-408统考】【附思维导图】
- Java毕设项目智慧商店管理系统计算机(附源码+系统+数据库+LW)
- 怎么样通过Nginx实现限流?
- 编写登陆认证程序--Python
- 深度学习的可解释性——Striving For Simplicity: The All Convolution Net
- Python的sys模块用法
- 超小型php框架,超轻量级的PHP框架 MiniFramework
- java中settimeout作用_关于setTimeout的妙用