Java使用jdbc连接MySQL数据库实例分析

本文实例讲述了Java使用jdbc连接MySQL数据库的方法。分享给大家供大家参考,具体如下:

使用jdbc连接数据库:

可以直接在方法中定义url、user、psd等信息,也可以读取配置文件,但是在web项目中肯定是要使用第二种方式的,为了统一,只介绍第二种方式。

步骤

1、创建配置文件db.properties

无论是eclipse还是myeclipse,在工程下右键->new->file,以properties为后缀名就好了。

配置文件内容:

#连接数据库的url,如果主机地址是localhost,端口是3306也可以写成url=jdbc:mysql:///databasename
url=jdbc:mysql://localhost:3306/databasename
#用户名
user=root
#密码
password=root
#MySQL数据库加载驱动
driverClass=com.mysql.jdbc.Driver

2、定义一个使用jdbc连接数据库的工具类JdbcUtil.java

工具类内容:

public class JdbcUtil{
 //定义全局变量
 private static String url = null;
 private static String user = null;
 private static String password = null;
 private static driverClass = null;
 //读取配置文件内容,放在静态代码块中就行,因为只需要加载一次就可以了
 static{
  try{
   Properties props = new Properties();
   //使用类路径加载的方式读取配置文件
   //读取的文件路径要以“/”开头,因为如果使用“.”的话,当部署到服务器上之后就找不到文件了,使用“/”开头会直接定位到工程的src路径下
   InputStream in = JdbcUtil.class.getResourceAsStream("/db.properties");
   //加载配置文件
   props.load(in);
   //读取配置文件信息
   url = props.getProperty("url");
   user = props.getProperty("user");
   password = props.getProperty("password");
   driverClass = props.getProperty("driverClass");
   //注册驱动程序
   Class.forName(driverClass);
  }catch(Exception e){
   e.printStackTrace();
   System.out.println("驱动程序注册失败!!!");
  }
 }
 //获取连接对象Connection
 public static Connection getConnection(){
  try{
   return DriverManager.getConnection(url,user,password);
  }catch(SQLException e){
   e.printStackTrace();
   //跑出运行时异常
   throw new RuntimeException();
  }
 }
 //关闭连接的方法,后打开的先关闭
 public static void close(Connection conn,Statement stmt,ResultSet rs){
  //关闭ResultSet对象
  if(rs != null){
   try{
    //关闭rs,设置rs=null,因为java会优先回收值为null的变量
    rs.close();
    rs = null;
   }catch(SQLException e){
    e.printStackTrace();
    throw new RuntimeException();
   }
  }
  //关闭Statement对象,因为PrepareStatement和CallableStatement都是Statement的子接口,所以这里只需要有关闭Statement对象的方法就可以了
  if(stmt != null){
   try{
    stmt.close();
    stmt = null;
   }catch(SQLException e){
    e.printStackTrace();
    throw new RuntimeException();
   }
  }
  //关闭Connection对象
  if(conn != null){
   try{
    conn.close();
    conn = null;
   }catch(SQLException e){
    e.printStackTrace();
    throw new RuntimeException();
   }
  }
 }
}

可以聊任何java问题,JavaSE、JavaEE

工具类已经实现了,可以直接考到项目里使用,但是有一点要注意,就是这个类文件中没有导入支持的类,大家也可以看到在类的头部没有package import,这个需要自己手动添加上,导入类的快捷键是Ctrl+Shift+O,导包的时候不要导错了;别忘了引入MySQL的支持jar包mysql-connector-java-5.1.7-bin.jar

附:mysql-connector-java-5.1.7-bin.jar可点击此处本站下载

更多关于java相关内容感兴趣的读者可查看本站专题:《Java+MySQL数据库程序设计总结》、《Java数据结构与算法教程》、《Java文件与目录操作技巧汇总》、《Java操作DOM节点技巧总结》和《Java缓存操作技巧汇总》

希望本文所述对大家java程序设计有所帮助。

(0)

相关推荐

  • java事务回滚失败问题分析

    Spring-Java事物回滚失效处理最近在做项目中,无意间发现有个类在抛事物回滚操作,数据也正常的插入到数据库当中了,于是仔细查看看一下具体原因. 一切还是要从Java的检查型异常和非检查型异常说起. 那么什么是检查型异常什么又是非检查型异常呢? 最简单的判断点有两个: 1.继承自RuntimeException或Error的是非检查型异常,而继承自Exception的则是检查型异常(当然,RuntimeException本身也是Exception的子类). 2.对非检查型类异常可以不用捕获,

  • 在Java的JDBC使用中设置事务回滚的保存点的方法

    新的JDBC3.0保存点的接口提供了额外的事务控制.他们的环境中,如Oracle的PL/ SQL中的大多数现代的DBMS支持保存点. 当设置一个保存点在事务中定义一个逻辑回滚点.如果发生错误,过去一个保存点,则可以使用rollback方法来撤消要么所有的改变或仅保存点之后所做的更改. Connection对象有两个新的方法,可帮助管理保存点: setSavepoint(String savepointName): 定义了一个新的保存点.它也返回一个Savepoint 对象. releaseSav

  • Java实现的mysql事务处理操作示例

    本文实例讲述了Java实现的mysql事务处理操作.分享给大家供大家参考,具体如下: 1.事务是一组要么同时执行成功,要么同时执行失败的sql语句.是数据库操作的一个执行单元. 2.事物的四大特点: (1)atomicity(原子性)表示一个事务内的所有操作是一个整体,要么全部成功,要么全部失败. (2)consistency(一致性)表示一个事物内有一个操作失败时,所有更改过的数据都必须回滚到修改前的状态. (3)isolation(隔离性)事务查看数据时数据所处的状态,要么是另一并发事务修改

  • Java基于JDBC实现事务,银行转账及货物进出库功能示例

    本文实例讲述了Java基于JDBC实现事务,银行转账及货物进出库功能.分享给大家供大家参考,具体如下: 1. 转账业务 转账必须执行2个sql语句(update更新)都成功的情况下,提交事务,如果有一个失败,则2个都回滚事务 2. 事务应该具有4个属性:原子性.一致性.隔离性.持久性.这四个属性通常称为ACID特性. ① 原子性(atomicity).一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做. ② 一致性(consistency).事务必须是使数据库从一个一致性状

  • 深入解析Java中的JDBC事务

    事务 事务是一步或多步组成操作序列组成的逻辑执行单元,这个序列要么全部执行,要么则全部放弃执行.事务的四个特性:原子性(Atomicity).一致性(Consistency).隔离性(IsoIation)和持续性(Durability)原子性(Atomicity):事务应用最小的执行单元,不可再分.是事务中不可再分的最小逻辑执行体. 一致性(Consistency):事务的执行结果,必须使数据库的从一个一致性的状态变到另一个一致性的状态. 隔离线(IsoIation):各个事务的执行互不干扰,任

  • 详解Java的JDBC API中事务的提交和回滚

    如果JDBC连接是在自动提交模式下,它在默认情况下,那么每个SQL语句都是在其完成时提交到数据库. 这可能是对简单的应用程序,但有三个原因,你可能想关闭自动提交和管理自己的事务: 为了提高性能 为了保持业务流程的完整性 使用分布式事务 若要控制事务,以及何时更改应用到数据库.它把单个SQL语句或一组SQL语句作为一个逻辑单元,而且如果任何语句失败,整个事务失败. 若要启用,而不是JDBC驱动程序默认使用auto-commit模式手动事务支持,使用Connection对象的的setAutoComm

  • Java与Oracle实现事务(JDBC事务)实例详解

    Java与Oracle实现事务(JDBC事务)实例详解 J2EE支持JDBC事务.JTA事务和容器事务事务,这里说一下怎样实现JDBC事务. JDBC事务是由Connection对象所控制的,它提供了两种事务模式:自己主动提交和手动提交,默认是自己主动提交. 自己主动提交就是:在JDBC中.在一个连接对象Connection中.默认把每一个SQL语句的运行都当做是一个事务(即每次运行完SQL语句都会马上将操作更新到数据库). 手动提交就是:当须要一次性运行多个SQL语句,将多个SQL语句组成一个

  • Java 事务详解及简单应用实例

    Java事务的简单使用  Java事务在一些面试中会被问到. 面试的时候,我们首先要回答的是:事务能够保证数据的完整性和一致性. 如果功力深厚点的话:就说一些原理(任务开始前先设置不提交任务,在所有任务完成后再提交任务, 如果任务在中间断开,就执行回滚,撤销前面执行的任务),简单一点就举个的例子(比如存钱和取钱的问题. 比如:银行在两个账户之间转账,从A账户转入B账户1000元,系统先减少A账户的1000元,然后再为B账号增加1000元.如果全部执行成功,数据库处于一致性:如果仅执行完A账户金额

  • Java Spring 事务回滚详解

    spring 事务回滚 1.遇到的问题 当我们一个方法里面有多个数据库保存操作的时候,中间的数据库操作发生的错误.伪代码如下: public method() { Dao1.save(Person1); Dao1.save(Person2); Dao1.save(Person2);//假如这句发生了错误,前面的两个对象会被保存到数据库中 Dao1.save(Person2); } 期待的情况:发生错误之前的所有数据库保存操作都回滚,即不保存 正常情况:前面的数据库操作会被执行,而发生数据库操作错

  • 详解Java的MyBatis框架中的事务处理

    一.MyBatis单独使用时,使用SqlSession来处理事务: public class MyBatisTxTest { private static SqlSessionFactory sqlSessionFactory; private static Reader reader; @BeforeClass public static void setUpBeforeClass() throws Exception { try { reader = Resources.getResourc

  • Java事务的个人理解小结

    一.什么是Java事务 通常的观念认为,事务仅与数据库相关.        事务必须服从ISO/IEC所制定的ACID原则.ACID是原子性(atomicity).一致性(consistency).隔离性(isolation)和持久性(durability)的缩写.事务的原子性表示事务执行过程中的任何失败都将导致事务所做的任何修改失效.一致性表示当事务执行失败时,所有被该事务影响的数据都应该恢复到事务执行前的状态.隔离性表示在事务执行过程中对数据的修改,在事务提交之前对其他事务不可见.持久性表示

随机推荐