java是怎么连接mysql数据库的1、java连接MySQL数据库需要有一个驱动jar包
例如:mysql-connector-java-5.1.26-bin.jar,该驱动jar可以自行百度搜索最新包下载放在项目java怎么开mysql的lib目录下即可 。
2、连接代码如下
package baidu.test.jsp;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.naming.spi.DirStateFactory.Result;
public class DbConnection {
private static Connection conn;
public DbConnection() {
String drivername="com.mysql.jdbc.Driver";
String username="root";
String url="jdbc:mysql://localhost/jsptest?useUnicode=truecharacterEncoding=UTF-8";
String password="";
//加载驱动
try {
Class.forName(drivername);
} catch (ClassNotFoundException e) {
System.out.println("驱动加载失败java怎么开mysql!");
e.printStackTrace();
}
//建立连接
try {
conn=DriverManager.getConnection(url,username,password);
} catch (SQLException e) {
System.out.println("数据库连接失败java怎么开mysql!");
e.printStackTrace();
}
}
//getResultSet
public ResultSet GetResultSet(String sql)
{
ResultSet rs=null;
//statemanage
try {
Statement st=conn.createStatement();
rs=st.executeQuery(sql);
} catch (SQLException e) {
System.out.println("状态管理器创建失败");
e.printStackTrace();
}
return rs;
}
//DML
public int DML(String sql)
{
int count=-1;
try {
Statement statement=conn.createStatement();
count=statement.executeUpdate(sql);
} catch (SQLException e) {
System.out.println("状态管理器创建失败");
e.printStackTrace();
}
return count;
}
}
3、可以新建service类来调用连接类里面的方法java怎么开mysql,实现自己所需用的功能 。
如何用java开启mysql事务,要求详细看你是什么事务java怎么开mysql,jdbc事务java怎么开mysql,还是分布式事务java怎么开mysql,还是容器事务
1,编程式事务管理(jdbc的事务是绑定在connection上的)
Connection conn = null;
try
{
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:oracle:thin:@host:1521:SID","username","password");
conn.setAutoCommit(false);//取消自动提交
PreparedStatement ps = conn.prepareCall("update something");
ResultSet rs = ps.executeQuery();
conn.commit();//手动提交
}
catch (Exception e)
{
conn.rollback();
e.printStackTrace();
}
finally
{
conn.close();
}
2,声明式事务
先在工程的application.xml配置文件中添加如下代码,开启事务
!-- 声明式事务控制配置 --
tx:annotation-driven transaction-manager="txManager"/
bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"
property name="datasource" ref="bassDataSource"/property
/bean
然后在你需要开启事务的接口前面添加注解
@Transactional(rollbackFor = IOException.class)
public void add(String name) throws IOException
{
System.out.println("可以再类里和方法里面添加事务注解0~0");
throw new IOException();
}
直接调用接口方法就好
分布式事务处理(mysql貌似在5.X之后才支持) 的话,
1.可以直接使用spring atomikos框架进行管理
参考java怎么开mysql:
就不贴测试代码了,自己看着配置吧
2,使用JTA(Java Transaction API)进行分布式事务管理(测试代码如下)
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import javax.naming.InitialContext;
import javax.sql.DataSource;
import javax.transaction.SystemException;
import javax.transaction.UserTransaction;
import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
//分布式事务处理
public class transferAccount
{
@SuppressWarnings("null")
publicvoid testTransferAccount()
{
UserTransaction userts = null;
Connection connA = null;
PreparedStatement psA = null;
InitialContext context = null;
Connection connB = null;
PreparedStatement psB = null;
try
【java怎么开mysql java怎么开创造】{
//获得事务管理对象
userts = (UserTransaction) context.lookup("java:comp/UserTransaction");
//获取两个数据库
connA = getDataSourceA().getConnection();
connB = getDataSourceB().getConnection();
//开启事务
userts.begin();
//sql语句
psA = connA.prepareStatement("我加1");
psB = connB.prepareStatement("我减1");
//执行sql
psA.executeUpdate();
psB.executeUpdate();
//事务提交
userts.commit();
} catch (Exception e)
{
try
{
userts.rollback();
} catch (IllegalStateException | SecurityException
| SystemException e1)
{
e1.printStackTrace();
}
e.printStackTrace();
}
finally
{
try
{
psA.close();
psB.close();
connA.close();
connB.close();
} catch (SQLException e)
{
e.printStackTrace();
}
}
}
public DataSource getDataSourceA()
{
MysqlDataSource dataSource = new MysqlDataSource();
dataSource.setDatabaseName("mysql");
dataSource.setServerName("server");
dataSource.setPortNumber(1433);
dataSource.setUser("test");
dataSource.setPassword("test");
return dataSource;
}
public DataSource getDataSourceB()
{
MysqlDataSource dataSource = new MysqlDataSource();
dataSource.setDatabaseName("mysql");
dataSource.setServerName("server");
dataSource.setPortNumber(1435);
dataSource.setUser("test1");
dataSource.setPassword("test1");
return dataSource;
}
}
怎样用java连接mysql首先要下载Connector/J地址:
这是MySQL官方提供的连接方式:
解压后得到jar库文件,需要在工程中导入该库文件
我是用的是Eclipse:
JAVA连接MySQL稍微繁琐,所以先写一个类用来打开或关闭数据库:
DBHelper.java
Java代码
package com.hu.demo;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class DBHelper {
public static final String url = "jdbc:mysql://127.0.0.1/student";
public static final String name = "com.mysql.jdbc.Driver";
public static final String user = "root";
public static final String password = "root";
public Connection conn = null;
public PreparedStatement pst = null;
public DBHelper(String sql) {
try {
Class.forName(name);//指定连接类型
conn = DriverManager.getConnection(url, user, password);//获取连接
pst = conn.prepareStatement(sql);//准备执行语句
} catch (Exception e) {
e.printStackTrace();
}
}
public void close() {
try {
this.conn.close();
this.pst.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
再写一个Demo.java来执行相关查询操作
Demo.java
Java代码
package com.hu.demo;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Demo {
static String sql = null;
static DBHelper db1 = null;
static ResultSet ret = null;
public static void main(String[] args) {
sql = "select *from stuinfo";//SQL语句
db1 = new DBHelper(sql);//创建DBHelper对象
try {
ret = db1.pst.executeQuery();//执行语句,得到结果集
while (ret.next()) {
String uid = ret.getString(1);
String ufname = ret.getString(2);
String ulname = ret.getString(3);
String udate = ret.getString(4);
System.out.println(uid"\t"ufname"\t"ulname"\t"udate );
}//显示数据
ret.close();
db1.close();//关闭连接
} catch (SQLException e) {
e.printStackTrace();
}
}
}
测试数据库是在上一章 中建立的 , 所以直接查询:
结果和用C#连接MySQL查询的结果一样
java怎么连接mysql数据库首先要安装有JDK(一般是JDK1.5.X) 。然后安装MySQL,这些都比较简单,具体过程就不说了 。配置好这两个环境后 , 下载JDBC驱动mysql-connector-java-5.0.5.zip(这个是最新版的) 。然后将其解压缩到任一目录 。我是解压到D盘,然后将其目录下的mysql-connector-java-5.0.5-bin.jar加到classpath里,具体如下:“我的电脑”- “属性” -“高级” -“环境变量”,在系统变量那里编辑classpath,将D:\mysql-connector-java-5.0.5\mysql-connector-java-5.0.5-bin.jar加到最后 , 在加这个字符串前要加“;”,以与前一个classpath区分开 。然后确定 。
环境配置好了 , 很简单 。现在,先配置MySQL,设其用户名为“root”,密码为“root” 。在命令行或用一个SQL的前端软件创建Database 。
我是用SQLyog的前端软件来创建Database的 。
先创建数据库:
CREATE DATABASE SCUTCS;
接着 , 创建表:
CREATE TABLE STUDENT
(
SNO CHAR(7) NOT NULL,
SNAME VARCHAR(8) NOT NULL,
SEX CHAR(2) NOT NULL,
BDATE DATE NOT NULL,
HEIGHT DEC(5,2) DEFAULT 000.00,
PRIMARY KEY(SNO)
);
然后插入数据,可以用SQL语句insert into 表名 values(value1, value2, ...);
也可以用SQLyog来操作
好了,创建好了 。
下面 , 我们来编写.java文件来演示一下如何访问MySQL数据库 。
import java.sql.*;
public class JDBCTest {
public static void main(String[] args){
// 驱动程序名
String driver = "com.mysql.jdbc.Driver";
// URL指向要访问的数据库名scutcs
String url = "jdbc:mysql://127.0.0.1:3306/scutcs";
// MySQL配置时的用户名
String user = "root";
// MySQL配置时的密码
String password = "root";
try {
// 加载驱动程序
Class.forName(driver);
// 连续数据库
Connection conn = DriverManager.getConnection(url, user, password);
if(!conn.isClosed())
System.out.println("Succeeded connecting to the Database!");
// statement用来执行SQL语句
Statement statement = conn.createStatement();
// 要执行的SQL语句
String sql = "select * from student";
// 结果集
ResultSet rs = statement.executeQuery(sql);
System.out.println("-----------------");
System.out.println("执行结果如下所示:");
System.out.println("-----------------");
System.out.println(" 学号""\t"" 姓名");
System.out.println("-----------------");
String name = null;
while(rs.next()) {
// 选择sname这列数据
name = rs.getString("sname");
/* 何问起 hovertree.com */
// 首先使用ISO-8859-1字符集将name解码为字节序列并将结果存储新的字节数组中 。
// 然后使用GB2312字符集解码指定的字节数组
name = new String(name.getBytes("ISO-8859-1"),"GB2312");
// 输出结果
System.out.println(rs.getString("sno")"\t"name);
}
rs.close();
conn.close();
} catch(ClassNotFoundException e) {
System.out.println("Sorry,can`t find the Driver!");
e.printStackTrace();
} catch(SQLException e) {
e.printStackTrace();
} catch(Exception e) {
e.printStackTrace();
}
}
}
关于java怎么开mysql和java怎么开创造的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。
推荐阅读
- 如何快速入门新媒体艺术,新媒体艺术怎么做
- 微信提取视频的小程序,微信提取视频的小程序交叫什么
- phpcms如何引用图片,php引用html
- 鸿蒙系统闪亮登场,鸿蒙系统界面再被“爆料”
- python指数对数函数 用python计算对数函数
- oracle数据库管理和应用开发,oracle数据库应用开发及实践课后答案枣庄学院
- 自己直播软件叫什么,可以自己直播赚钱的软件
- 治愈声音直播教程,治愈系声音主播稿子
- php数据连接作为参数 php连接数据库的方法