1、java连接MySQL数据库需要有一个驱动jar包
例如:mysql-connector-java-5.1.26-bin.jar,该驱动jar可以自行百度搜索最新包下载放在项目的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=true&characterEncoding=UTF-8";
String password="";
//加载驱动
try {
Class.forName(drivername);
} catch (ClassNotFoundException e) {
System.out.println("驱动加载失败!");
e.printStackTrace();
}
//建立连接
try {
conn=DriverManager.getConnection(url,username,password);
} catch (SQLException e) {
System.out.println("数据库连接失败!");
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类来调用连接类里面的方法,实现自己所需用的功能。
import java.sql.Connection ;
import java.sql.DriverManager ;
import java.sql.SQLException ;
public class ConnectionDemo{
// 定义MySQL的数据库驱动程序
public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;
// 定义MySQL数据库的连接地址
public static final String DBURL = "jdbc:mysql://localhost:3306/mldn" ;
// MySQL数据库的连接用户名
public static final String DBUSER = "root" ;
// MySQL数据库的连接密码
public static final String DBPASS = "mysqladmin" ;
public static void main(String args[]){
Connection conn = null ; // 数据库连接
try{
Class.forName(DBDRIVER) ; // 加载驱动程序
}catch(ClassNotFoundException e){
e.printStackTrace() ;
}
try{
conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;
}catch(SQLException e){
e.printStackTrace() ;
}
System.out.println(conn) ; // 如果此时可以打印表示连接正常
try{
conn.close() ; // 数据库关闭
}catch(SQLException e){
e.printStackTrace() ;
}
}
};
Java连接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区分开。然后确定。
package hqs;
import java.sql.*;
public class DataBasePractice {
public static void main(String[] args) {
//声明Connection对象
Connection con;
//驱动程序名
String driver = "com.mysql.jdbc.Driver";
//URL指向要访问的数据库名mydata
String url = "jdbc:mysql://localhost:3306/mydata";
//MySQL配置时的用户名
String user = "root";
//MySQL配置时的密码
String password = "root";
//遍历查询结果集
try {
//加载驱动程序
Class.forName(driver);
//1.getConnection()方法,连接MySQL数据库!!
con = DriverManager.getConnection(url,user,password);
if(!con.isClosed())
System.out.println("Succeeded connecting to the Database!");
//2.创建statement类对象,用来执行SQL语句!!
Statement statement = con.createStatement();
//要执行的SQL语句
String sql = "select * from student";
//3.ResultSet类,用来存放获取的结果集!!
ResultSet rs = statement.executeQuery(sql);
System.out.println("-----------------");
System.out.println("执行结果如下所示:");
System.out.println("-----------------");
System.out.println(" 学号" + "\t" + " 姓名");
System.out.println("-----------------");
String name = null;
String id = null;
while(rs.next()){
//获取stuname这列数据
name = rs.getString("stuname");
//获取stuid这列数据
id = rs.getString("stuid");
//首先使用ISO-8859-1字符集将name解码为字节序列并将结果存储新的字节数组中。
//然后使用GB2312字符集解码指定的字节数组。
name = new String(name.getBytes("ISO-8859-1"),"gb2312");
//输出结果
System.out.println(id + "\t" + name);
}
rs.close();
con.close();
} catch(ClassNotFoundException e) {
//数据库驱动类异常处理
System.out.println("Sorry,can`t find the Driver!");
e.printStackTrace();
} catch(SQLException e) {
//数据库连接失败异常处理
e.printStackTrace();
}catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally{
System.out.println("数据库数据成功获取!!");
}
}
}
需要mysql的jar包