
下面这个是我网上看到的,觉得就很好
Java要连接数据库,那么首先你必须安装mysql数据库。
安装好mysql之后,安装JDK了。
安装好JDK之后,就是安装Eclipse了,要支持JDK版本,Eclipse安装的时候会自动去找JDK安装位置的,解压版的Eclipse,就要配置eclipseini文件了,将对应的JDK配置好,这些已经准备就绪的时候,就到mysql中创建数据库和表。
先创建数据库:
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 00000,
PRIMARY KEY(SNO)
);
然后插入数据,可以用SQL语句insert into <表名> values (value1, value2, );
编写java文件来演示一下如何访问MySQL数据库。
import javasql;
public class JDBCTest {
public static void main(String[] args){
// 驱动程序名 String driver = "commysqljdbcDriver";
// URL指向要访问的数据库名scutcs String url = "jdbc:mysql://127001:3306/scutcs";
// MySQL配置时的用户名 String user = "root"; // MySQL配置时的密码 String password = "root";
try { // 加载驱动程序 ClassforName(driver);
// 连续数据库 Connection conn = DriverManagergetConnection(url, user, password);
if(!connisClosed()) Systemoutprintln("Succeeded connecting to the Database!");
// statement用来执行SQL语句 Statement statement = conncreateStatement();
// 要执行的SQL语句 String sql = "select from student";
// 结果集 ResultSet rs = statementexecuteQuery(sql);
while(rsnext()) // 选择sname这列数据 name = rsgetString("sname
// 输出结果 Systemoutprintln(rsgetString("sno") + "\t" + name); }
rsclose(); connclose();
} catch(ClassNotFoundException e) {
Systemoutprintln("Sorry,can`t find the Driver!"); eprintStackTrace();
} catch(SQLException e) {
eprintStackTrace();
} catch(Exception e) {
eprintStackTrace();
} } }
1下面代码是使用jdbc直接来链接mysql的 *** 作,方式与SQL SERVER类似,区别在于加载的驱动不同,url的设置也有点区别。
2执行脚本返回的结果,可以看出java成功链接上mysql并获取到返回值
3mysql-connector-java-5126-binjar是java链接mysql使用的jar包,与SQL SERVER链接也有专门的jar包,jar包中包含了java链接mysql所用到的函数驱动等等,所有的jar包都是放到web工程lib目录下
4如果工程是整合在ssh下,一般情况下都会有一个properties文件,该文件配置了数据库链接常用的命令,下图是mysql中的配置
5使用spring框架下进行的测试,结果可以成功执行,无论是sql server还是mysql还是其他的数据库,基本功能都一样,只是语法结构有所区别,java在调用的过程中大部分功能只要切换了数据库链接命令就可以公用,如果系统架构设计的足够好,切换数据库的时候,应用程序是不用调整就能兼容的
先调用它的last()方法把指针放到最后,在用getRow();获得所在行行标就是一共得记录条数~
即:
rslast();
int rowCount=rsgetRow();
/
获取数据库的连接
@return conn
/
public static Connection getConnection() throws Exception{
String url = "jdbc:mysql://101035188:3306/sgjwx";
String user = "opermain";
String psw = "opermain";
Connection conn = null;
PreparedStatement pstm = null;
ResultSet rs = null;
ClassforName("commysqljdbcDriver");
if(null == conn) {
try {
conn = DriverManagergetConnection(url, user, psw);
} catch (SQLException e) {
Systemoutprintln("获取失败");
throw new RuntimeException(e);
} finally{
closeResources(conn,pstm,rs);
}
}
return conn;
}
/
释放资源
@param conn
@param pstmt
@param rs
/
public static void closeResources(Connection conn,PreparedStatement pstmt,ResultSet rs) {
if(null != rs) {
try {
rsclose();
} catch (SQLException e) {
eprintStackTrace();
throw new RuntimeException(e);
} finally {
if(null != pstmt) {
try {
pstmtclose();
} catch (SQLException e) {
eprintStackTrace();
throw new RuntimeException(e);
} finally {
if(null != conn) {
try {
connclose();
} catch (SQLException e) {
eprintStackTrace();
throw new RuntimeException(e);
}
}
}
}
}
}
}
// //tuserrole执行插入
// try {
// String sql = "insert into sys_userrole(roleid,userid) values (,)";
// conn = getConnection();
// connsetAutoCommit(false);
// PreparedStatement pstmt = (PreparedStatement) connprepareStatement(sql,StatementRETURN_GENERATED_KEYS);//传入参数:StatementRETURN_GENERATED_KEYS
// pstmtsetInt(1, 5);
// pstmtsetInt(2, sid);
// pstmtexecuteUpdate();
// ResultSet rs = pstmtgetGeneratedKeys(); //获取结果
// int a = -1;
// if (rsnext()) {
// a = rsgetInt(1);//取得ID
// }
// Systemoutprintln(a);
// Systemoutprintln("t_userrole执行成功");
// conncommit();
// } catch (Exception e) {
// eprintStackTrace();
// Systemoutprintln("执行失败");
// }
下面是一个从 mysql 数据库获取用户信息的例子,可以参考一下:
import javasqlConnection;import javasqlDriverManager;
import javasqlResultSet;
import javasqlSQLException;
import javasqlStatement;
import javautilArrayList;
import javautilList;
// 用户类,存储单个用户信息
class User {
private int id;
private String name;
public User(int id, String name) {
thisid = id;
thisname = name;
}
public int getId() {
return id;
}
public void setId(int id) {
thisid = id;
}
public String getName() {
return name;
}
public void setName(String name) {
thisname = name;
}
@Override
public String toString() {
return "User [id=" + id + ", name=" + name + "]";
}
}
public class Demo1 {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
// 本例使用 mysql 数据库,演示将数据库 test 的 tb_users 表中的用户信息
// 放到 List 中
// 加载数据驱动
ClassforName("commysqljdbcDriver");
// 数据库连接字符串, 此例数据库为 test
String url = "jdbc:mysql://localhost:3306/test";
String user = "root"; // 数据库用户名
String password = ""; // 数据库密码
// 打开一个数据连接
Connection conn = DriverManagergetConnection(url, user, password);
Statement stmt = conncreateStatement();
// 获取表 tb_users 所有用户信息到结果集中
ResultSet rs = stmtexecuteQuery("SELECT id, name FROM tb_users");
// 定义一个存放用户信息的 List
List<User> users = new ArrayList<>();
// 提取用户信息,并将用户信息放入 List
while (rsnext()) {
// 获取用户ID
int id = rsgetInt(1);
// 获取用户名
String name = rsgetString(2);
usersadd(new User(id, name));
}
rsclose();
stmtclose();
connclose();
// 显示用户信息
for (User u : users) {
Systemoutprintln(u);
}
}
}
新建一个web工程,在建一个JAVA类 代码如下
package Util;
import javaioIOException;
import javaioInputStream;
import javasqlConnection;
import javasqlDriverManager;
import javasqlResultSet;
import javasqlSQLException;
import javasqlStatement;
public class DBConnection {
/ 提供一个连接对象/
public static Connection getConnection(){
Connection conn=null;
try {
ClassforName("commysqljdbcDriver");
conn=DriverManagergetConnection("jdbc:mysql://localhost:3306/ott","root","WOAIDY1314");
Systemoutprintln("连接成功");
} catch (ClassNotFoundException e) {
eprintStackTrace();
} catch (SQLException e) {
eprintStackTrace();
}
return conn;
}
public static void main(String[] args){
Systemoutprintln(getConnection());
}
你需要下个包,名字叫mysql-connector-java
最后一个main方法就是测试用的,如果连接成功,控制台应该如下显示
首先你先知道数据库名,用户名,密码这些吧你知道这些后,你就可以在连接的时候抓住异常,看抛出的异常是什么了有些事抛出数据库关闭或者没有数据库驱动等异常信息,从这些异常信息你就知道数据库是不是存在了,或者存在时什么原因导致美连接成功了
以上就是关于如何用java连接mysql数据库全部的内容,包括:如何用java连接mysql数据库、java如何连接mySQL数据库、Java中连接mysql数据库怎么判断ResultSet 有几个查询结果用哪个方法 谢谢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)