数据库连接工具类

article/2025/8/30 23:13:50

数据库连接

  • 概述
  • 一、jdbc
    • 实验环境搭建
  • 二、Druid连接数据库
    • 实验环境搭建
  • 三、Maven连接数据库
    • 实验环境搭建
  • 四、mybatis连接数据库
    • 实验环境搭建
  • 五、Spring连接数据库
  • 六、SSM

概述

什么是JDBC:Java连接数据库
原子性 (Atomicity)、 一致性(Consistency)、隔离性(Isolation) 和 持久性(Durability)

一、jdbc

在这里插入图片描述
需要jar包的支持

  • java.sql
  • javax.sql
  • mysql-connection-java

实验环境搭建

导入数据库依赖

        <dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.47</version></dependency>

idea中连接数据库
工具类DBHelper

public class DbHelper {static Connection conn;//为了getConn()方法中返回,公用的//static块仅执行一次static {//1.加载数据库驱动try {Class.forName("com.mysql.jdbc.Driver");//加载数据库驱动类的名称} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}//2.获取数据库的连接对象try {conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/nightout", "root", "");//return conn;static里面不能return} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();//堆栈???}}//返回Connection中的connpublic static Connection getConn() {return conn;}
}

调用

PreparedStatement st = DbHelper.getConn().prepareStatement(sql);

二、Druid连接数据库

需要jar包支持

  • druid-1.1.22.jar
  • mysql-connector-java-5.1.2.jar

实验环境搭建

druid.properties文件

url=jdbc:mysql://localhost:3306/school?rewriteBatchedStatements=true
username=root
password=
driverClassName=com.mysql.jdbc.Driver
initialSize=10
maxActive=20
maxWait=1000
filters=wall

DBHelperDruid

import static com.alibaba.druid.pool.DruidDataSourceFactory.createDataSource;
public class DbDruid {static Connection conn;static {// 生成属性对象pro,获取链接对象Properties pro = new Properties();try {// 往属性对象里面放属性文件,数据库信息通过属性文件交给属性对象pro.load(new FileInputStream("testtwo/src/druid.properties"));// 根据属性对象的提供信息创建数据库,由数据源提供链接对象DataSource dataSource = createDataSource(pro);conn = dataSource.getConnection();} catch (Exception e) {e.printStackTrace();}}public static Connection getConn(){return conn;}
}

调用

PreparedStatement st = DbDruid.getConn().prepareStatement(sql);

三、Maven连接数据库

需要jar包支持

  • druid-1.1.22.jar
  • mysql-connector-java-5.1.2.jar

实验环境搭建

druid.properties文件

url=jdbc:mysql://localhost:3306/school?rewriteBatchedStatements=true
username=root
password=
driverClassName=com.mysql.jdbc.Driver
initialSize=10
maxActive=20
maxWait=1000
filters=wall

DBHelperDruid

public class DbHelper {static Connection conn;static {// 生成属性对象pro,获取链接对象,Properties pro = new Properties();try {// 往属性对象里面放属性文件,数据库信息通过属性文件交给属性对象
//            pro.load(new FileInputStream("src\\main\\resources\\druid.properties"));// maven 常用获取文件方式,不带路径// DbDruid.class:反射、.getClassLoader():获得类的装载方法、.getResourceAsStream():把资源转为输入流,给isInputStream is = DbHelper.class.getClassLoader().getResourceAsStream("druid.properties");pro.load(is);// 根据属性对象的提供信息创建数据库,由数据源提供链接对象DataSource dataSource = createDataSource(pro);conn = dataSource.getConnection();} catch (Exception e) {e.printStackTrace();}}public static Connection getConn() {return conn;}
}

四、mybatis连接数据库

需要jar包支持

  • mysql-connector-java-5.1.2.jar
  • mybatis-3.5.5.jar
  • junit-4.13.2.jar

实验环境搭建

DbHelper

public class DbhelperMybatis {
static SqlSessionFactory sqlSessionFactory = null;static {
try {
// 1、读取 resource配置文件资源
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
// 2、根据配置文件构建SQLSessionFactory工厂
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
}catch(Exception e){
e.printStackTrace();
}
}//获取SQLSession对象的静态方法
public static SqlSessionFactory getSqlSessionFactory() {
return sqlSessionFactory;
}
}

调用

SqlSession sqlSession = 打开session

五、Spring连接数据库

<!-- 1、配置数据源 -->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"><!-- 数据库驱动 --><property name="driverClassName" value="com.mysql.jdbc.Driver"></property><!-- 连接数据库的url --><property name="url" value="jdbc:mysql://localhost:3306/spring"></property><!-- 连接数据库的用户名 --><property name="username" value="root"></property><!-- 连接数据库的密码 --><property name="password" value=""></property>
</bean><!--数据源注入到jdbcTemplate对象中-->
<!-- 配置JDBC模板jdbcTemplate --><!-- 在core中核心 -->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"><!-- 默认必须使用数据源 --><property name="dataSource" ref="dataSource"></property>
</bean><!--jdbcTemplate注入到普通类中-->
<bean id="userDaoImpl" class="com.k2.jdbc.test.UserDaoImpl"><property name="jdbcTemplate" ref="jdbcTemplate"></property>
</bean>
<bean id="accountDao" class="com.k2.jdbc.dao.Impl.AccountDaoImpl"><property name="jdbcTemplate" ref="jdbcTemplate"></property>
</bean>

六、SSM

整合Mybatis、Spring、SpringMVC
jdbc.properties

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssm?useUnicode=true&amp;characterEncoding=utf8&amp;useSSL=false
jdbc.username=root
jdbc.password=

application-dao.xml

<!-- 读取jdbc.properties --><context:property-placeholder location="classpath:jdbc.properties"></context:property-placeholder><!-- 1、配置数据源 --><bean id="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource"><!-- 数据库驱动 --><property name="driverClassName" value="${jdbc.driver}"></property><!-- 连接数据库的url --><property name="url" value="${jdbc.url}"></property><!-- 连接数据库的用户名 --><property name="username" value="${jdbc.username}"></property><!-- 连接数据库的密码 --><property name="password" value="${jdbc.password}"></property></bean><!--sqlSessionFactory--><!--SqlSessionFactoryBean实现了Spring的FactoryBean的接口Spring创建的bean并不是SqlSessionFactoryBean本身,而是工厂类的getObject()方法返回的结果--><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><!-- 注入数据源 --><property name="dataSource" ref="dataSource"></property><!--指定包扫描--><property name="typeAliasesPackage" value="com.k2.pojo"></property></bean>

http://chatgpt.dhexx.cn/article/oYin2tOl.shtml

相关文章

正版数据库连接工具,DBeaver的安装与配置使用

之前一直使用的数据库连接工具是Navicat的破解版&#xff0c;相信很多人也和我一样&#xff0c;直到前段时间&#xff0c;发现了一款免费开源的数据库连接软件&#xff0c;使用起来也很方便顺手&#xff0c;那就是DB eaver &#xff0c;今天将安装基础使用的教程分享出来。 DBe…

数据库连接工具---DBeaver

数据库连接工具---DBeaver ☁️前言⭐️下载安装&#x1f34b;下载&#x1f34d;安装 &#x1f3c6;连接Clickhouse✨快捷键 ☁️前言 在工作中使用DataGrip&#xff0c;发现创建Clickhouse表语句设置了字段注释&#xff0c;但是创建完之后&#xff0c;注释消失。发现是客户端…

真牛X!这款通用数据库连接工具DBeaver!可以连接和操作市面所有的数据库!...

来源&#xff1a;https://blog.csdn.net/horses/article/details/89683422在制作《SQL 入门教程》时&#xff0c;接触到了这款非常强大易用的数据库管理和开发工具&#xff1a;DBeaver&#xff0c;也就是上面这个可爱的小河狸。 DBeaver 是一个基于 Java 开发&#xff0c;免费开…

数据库链接工具

安装方式 Navicat 自行百度需要破解 展示效果

除了大家知道的navicat,再介绍两款免费的数据库连接工具

因为navicat如果以前没有navicat的破解版就很难用现在网上的免费连接数据库工具了&#xff0c;所以&#xff0c;在这里我推荐大家使用两款免费的连接数据库工具。 第一款是开源免费的DBeaver 这是我上班&#xff0c;项目经理也可以说是我师傅教我的&#xff0c;毕竟免费&…

发现极为好用的数据库连接工具,基本上包含所有数据库DBeaver

1.DBeaver 是一个基于 Java 开发&#xff0c;免费开源的通用数据库管理和开发工具&#xff0c;使用非常友好的 ASL 协议。可以通过官方网站或者 Github 进行下载。 由于 DBeaver 基于 Java 开发&#xff0c;可以运行在各种操作系统上&#xff0c;包括&#xff1a;Windows、Lin…

数据库连接工具sqldbx、dbvisualizer使用笔记

近来需要使用新的数据库连接工具连接多种数据库&#xff0c;现在此做一个简单的总结记录&#xff0c;以备后续查看。 一、sqldbx 1、简介 SqlDbx 是简单易用的数据库连接工具&#xff0c;SQL编辑&#xff0c;SQL查询工具。语句规则突出&#xff0c;智能化&#xff0c;自动完…

MySQL数据库的多种连接方式及工具

大家好呀&#xff01;我是猿童学&#x1f435;&#xff0c;最近在学习Mysql数据库&#xff0c;给初学者分享一些知识&#xff0c;也是学习的总结&#xff0c;关注我将会不断地更新数据库知识&#xff0c;也欢迎大家指点一二&#x1f339;。 目录 一、MySQl命令行客户端 二、C…

几款数据库连接工具

几款数据库连接工具 文章目录 几款数据库连接工具1. 前言2. Navicat3. DBeaver4. DataGrip5. phpMyAdmin 1. 前言 我目前使用sqlite3和mysql数据库比较多&#xff0c;所以对数据库客户端的需求主要是支持多平台&#xff0c;至少可以连接管理这两个数据库&#xff0c;目前我找到…

两款免费、好用的数据库连接工具

一、Navicate Navicat是一套快速、可靠的数据库管理工具&#xff0c;专为简化数据库的管理及降低系统管理成本而设。它的设计符合数据库管理员、开发人员及中小企业的需要。Navicat 是以直觉化的图形用户界面而建的&#xff0c;让你可以以安全并且简单的方式创建、组织、访问并…

令人拍案叫绝的Wasserstein GAN

转载&#xff1a;https://zhuanlan.zhihu.com/p/25071913 在GAN的相关研究如火如荼甚至可以说是泛滥的今天&#xff0c;一篇新鲜出炉的arXiv论文《Wasserstein GAN》却在Reddit的Machine Learning频道火了&#xff0c;连Goodfellow都在帖子里和大家热烈讨论&#xff0c;这篇论文…

基于图学习的多视图聚类

现有的多视图聚类算法&#xff1a; 1.基于图的多视图聚类 2.多视图谱聚类 3.协同训练风格聚类 4.多视图子空间聚类 框架&#xff1a; 一般流程&#xff1a; 1.构造数据矩阵G&#xff0c;其中每一个元素gij表示数据点xi和xj之间的相似度&#xff1b; 2.计算图拉普拉斯矩…

可视化语音分析:深度对比Wavenet、t-SNE和PCA等算法

这篇文章基于 GitHub 中探索音频数据集的项目。本文列举并对比了一些有趣的算法&#xff0c;例如 Wavenet、UMAP、t-SNE、MFCCs 以及 PCA。此外&#xff0c;本文还展示了如何在 Python 中使用 Librosa 和 Tensorflow 来实现它们&#xff0c;并用 HTML、Javascript 和 CCS 展示可…

VTK笔记-图形相关-布尔运算-vtkBooleanOperationPolyDataFilter类

问题 群里有人问&#xff1a;我从左边的模型经过vtkClipPolyData的裁剪得到右边的模型。但裁剪完之后&#xff0c;里面是空心的&#xff0c;想问要如何操作才能把裁剪路径面给补上。   我理解的是&#xff0c;他想做将裁剪后的空腔与原来的vtkPolyData相连&#xff1b;类似下…

适用于Unity和Unreal Engine的Asm.js和WebGL

本文是Microsoft的Web开发系列的一部分。 感谢您支持使SitePoint成为可能的合作伙伴。 Unity和Epic的虚幻引擎&#xff08;Unreal Engine&#xff09;是游戏开发人员经常使用的流行中间件工具&#xff0c;不仅限于创建以可执行文件形式运行的已编译应用程序。 Unity以前有一个…

北冥神功与六脉神剑(一)

北冥神功与六脉神剑 【言念及此&#xff0c;登时心下坦然&#xff0c;默默祷祝&#xff1a;“神仙姊姊&#xff0c;你吩咐下来的事&#xff0c;段誉当然一定遵行不误&#xff0c;但愿你法力无边&#xff0c;逍遥派弟子早已个个无疾而终。”战战兢兢的打开绸包&#xff0c;里面…

测地线距离 matlab,网格测地线算法(Geodesics in Heat)附源码

测地线又称为大地线,可以定义为空间曲面上两点的局部最短路径。测地线具有广泛的应用,例如在工业上测地线最短的性质就意味着最优最省,在航海和航空中,轮船和飞机的运行路线就是测地线。[Crane et al. 2013]提出了利用热运动方程来计算网格测地线的方法,可以想象一下,当一…

交叉熵、相对熵(KL散度)、JS散度和Wasserstein距离(推土机距离)

转自知乎&#xff1a; 交叉熵、相对熵&#xff08;KL散度&#xff09;、JS散度和Wasserstein距离&#xff08;推土机距离&#xff09; 写在前面的总结&#xff1a; 1、目前分类损失函数为何多用交叉熵&#xff0c;而不是KL散度。 首先损失函数的功能是通过样本来计算模型分…

VTK - Boolean布尔操作

简介&#xff1a;本博文记录vtk关于布尔操作的应用&#xff0c;以及其中的坑&#xff0c;供小伙伴参考。 VTK中包含可以执行布尔操作的接口有vtkImplicitBoolean&#xff0c;vtkBooleanOperationPolyDataFilter&#xff0c;vtkLoopBooleanPolyDataFilter。 布尔操作包括&…

【GAN的优化】从KL和JS散度到fGAN

欢迎来到专栏《GAN的优化》&#xff0c;这是第二期。在这个专栏中&#xff0c;我们会讲述GAN的相关背景、基本原理、优化等相关理论&#xff0c;尤其是侧重于GAN目标函数的优化。小米粥和有三将带领大家从零学起&#xff0c;深入探究GAN的点点滴滴。 其实&#xff0c;比起来东拼…