Java连接数据库的几种方法

*说明

  1.以MySQL数据库为例

   2.分为四个步骤:

    建立数据库连接,

    向数据库中提交sql

    处理数据库返回的结果

    关闭数据库连接

一:JDBC

1.建立数据库连接

只需要两步,注册数据库的驱动程序,然后创建数据库连接

示例代码:

   

  1. String url="jdbc:mysql://localhost:3306/test";
  2.  
  3. String Driver="com.mysql.jdbc.Driver";
  4.  
  5. String username="root";
  6.  
  7. String password="123456";
  8.  
  9. Class.forName(Driver);
  10.  
  11. Connection conn=DriverManager.getConnection(url,username,password);

方法一

   

  1. String url="jdbc:mysql://localhost:3306/test";
  2.  
  3. String username="root";
  4.  
  5. String password="123456";
  6.  
  7. new com.mysql.jdbc.Driver();
  8.  
  9. Connection conn=DriverManager.getConnection(url,username,password);

方法二

首先通过java.lang.Class类的forName()静态方法动态加载MySQL驱动程序的类,这个类会自动在DriverManager中进行注册,然后通过DriverManager获得Connection类型的对象

2.通过数据库连接池,效率高

原理就是通过修改Tomcat服务器conf目录下的context.xml文件来进行配置的

配置的代码:

  

  1. <Context reloadable="true">
  2.  
  3. <!-- Default set of monitored resources -->
  4.  
  5. <WatchedResource>WEB-INF/web.xml</WatchedResource>
  6.  
  7. <Resource name="jdbc/mysql" auto="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="root" password="123456" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/test"/>
  8.  
  9. <!-- Uncomment this to disable session persistence across Tomcat restarts -->
  10.  
  11. <!--
  12.  
  13. <Manager pathname="" />
  14.  
  15. -->
  16.  
  17. <!-- Uncomment this to enable Comet connection tacking (provides events
  18.  
  19. on session expiration as well as webapp lifecycle) -->
  20.  
  21. <!--
  22.  
  23. <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />
  24.  
  25. -->
  26.  
  27. </Context>

context.xml

  通过数据源对象获取连接池中的数据库连接对象

  

  1. Context context=new InitialContext();
  2.  
  3. DataSource ds=(DataSource) context.lookup("java:/comp/env/jdbc/mysql");
  4.  
  5. Connection conn=ds.getConnection();

3.其他步骤在后面讲

二.以后补充

java连接MySQL数据库的方式的更多相关文章

  1. Java进阶(二十五)Java连接mysql数据库(底层实现)

    Java进阶(二十五)Java连接mysql数据库(底层实现) 前言 很长时间没有系统的使用java做项目了.现在需要使用java完成一个实验,其中涉及到java连接数据库.让自己来写,记忆中已无从搜 ...

  2. java连接MySql数据库 zeroDateTimeBehavior

    JAVA连接MySQL数据库,在操作值为0的timestamp类型时不能正确的处理,而是默认抛出一个异常, 就是所见的:java.sql.SQLException: Cannot convert va ...

  3. java连接mysql数据库详细步骤解析

    java连接mysql数据库详细步骤解析      第一步:下载一个JDBC驱动包,例如我用的是:mysql-connector-java-5.1.17-bin.jar      第二步:导入下载的J ...

  4. Java连接MySQL数据库及简单操作代码

    1.Java连接MySQL数据库 Java连接MySql需要下载JDBC驱动MySQL-connector-java-5.0.5.zip(举例,现有新版本).然后将其解压缩到任一目录.我是解压到D盘, ...

  5. 转载:Java连接MySQL 数据库的正确操作流程

    转载网址:http://www.bitscn.com/pdb/mysql/201005/186551.html       以下的文章主要介绍的是Java连接MySQL 数据库(以MySQL数据库为例 ...

  6. Java连接MySQL数据库增删改查通用方法

    版权声明:本文为博主原创文章,未经博主允许不得转载. Java连接MySQL数据库增删改查通用方法 运行环境:eclipse+MySQL 以前我们Java连接MySQL数据库都是一个数据库写一个类,类 ...

  7. Java 连接 MySQL 数据库

    最近想学习一下 Java 连接 MySQL 数据库,于是有了这样的一些问题&解决办法. 首先是解决 JDBC(Java Data Base Connectivity)驱动问题,因为默认安装的J ...

  8. MySQL学习(一)——Java连接MySql数据库

    MySQL学习(一)——Java连接MySql数据库 API详解: 获得语句执行 String sql = "Insert into category(cid, cname) values( ...

  9. JDBC Java 连接 MySQL 数据库

    MySQL 版本:Server version: 5.7.17-log MySQL Community Server (GPL) 用于测试的 MySQL 数据库:game 查看数据库中的表 mysql ...

随机推荐

  1. LVS简单介绍

    一.LVS简介 linux virtual server简称LVS,Internet的快速增长使多媒体网络服务器面对的访问数量快速增加,服务器需要具备提供大量并发访问服务的能力,因此对于大负载的服务器 ...

  2. Redis-06.Cluster

    Redis Cluster是一个高性能高可用的分布式系统.由多个Redis实例组成的整体,数据按照一致性哈希算法存储分布在多个Redis实例上,并对使用虚拟槽(Slot)对一致性哈希算法进行改进,通过 ...

  3. 升讯威微信营销系统开发实践:订阅号和服务号深入分析( 完整开源于 Github)

    GitHub:https://github.com/iccb1013/Sheng.WeixinConstruction因为个人精力时间有限,不会再对现有代码进行更新维护,不过微信接口比较稳定,经测试至 ...

  4. 《设计模式》学习&理解&总结

    教程地址:http://www.runoob.com/design-pattern/design-pattern-tutorial.html 教程书籍:<Android 设计模式解析与实战> ...

  5. 深入理解java反射原理

    反射是java的一个特性,这一特性也使得它给了广大的第三方框架和开发过者很大的想像空间. 通过反射,java可以动态的加载未知的外部配置对象,临时生成字节码进行加载使用,从而使代码更灵活!可以极大地提 ...

  6. VS Code 快捷键大全

    前言 VSCode的快捷键继承了一些IDE风格,有VS的身影,也有Emacs的身影..简言之,内置快捷键玩熟了,效率提高不是一点两点. VsCode 快捷键有五种组合方式(科普) 通用快捷键 基础编辑 ...

  7. Testing - 敏捷测试

    敏捷测试(Agile Testing) SM= Scrum Master PO= Product Owner PB= Product Backlog SB= Sprint Backlog Scrum ...

  8. base64之js压缩图片

    在日常的一些项目中会有上传图片之类的接口,如果图片过大了再上传的时候是非常的耗时以及占用资源,在这里就给大家分享一下如何在js中把大的图片压缩成小的图片,我这里的功能是用户点击按钮调用相机或者选择文件 ...

  9. Zookeeper-watcher机制源码分析(二)

    服务端接收请求处理流程 服务端有一个NettyServerCnxn类,用来处理客户端发送过来的请求 NettyServerCnxn public void receiveMessage(Channel ...

  10. ASP.NET Core微服务+Tabler前端框架搭建个人博客1--开始前想说的话

    写在前面 本人为在读研究生,特别喜欢.NET,觉得.NET的编程方式.语法都特别友好,学习.NET Core已经差不多有一年半了,从一开始不知道如何入门到现在终于可以编写一些小的应用程序,想一想还是非 ...