重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
第1步 获取Java与MySQL的连接器
创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于成都做网站、成都网站建设、东莞网络推广、小程序设计、东莞网络营销、东莞企业策划、东莞品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联公司为所有大学生创业者提供东莞建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com
第2步 将下载的包存放在自己机器上jdk安装目录下面的jre目录下面的lib目录下面的ext目录中,在程序中导入与数据库操作相关的对象
import java.sql.Connection; //导入数据库连接对象
import java.sql.DriverManager; //导入数据库驱动管理对象
import java.sql.ResultSet; //导入数据记录集对象
import java.sql.SQLException; //导入数据SQL操作异常对象
import java.sql.Statement; //导入SQL操作接口对象
第3步:在程序中写入如下内容
String url; //连接数据库的字符串
String sql; //执行数据sql查询操作的字符串
Connection conn; //数据库连接变量
Statement st; //数据库操作对象
ResultSet rs; //数据记录集对象
url = "jdbc:mysql://localhost:3306/test?user=rootpassword="; //在程序中只要修改这句,就可以实现数据库连接
try {
conn = DriverManager.getConnection(url);
st = conn.createStatement();
sql = "select * from test"; //只要修改这句,就可以实现各种查询操作
rs=st.executeQuery(sql); //执行数据查询
while(rs.next())
{
System.out.println(rs.getString(1)); //获得数据表test中第1个字段的数据,该字段为字符串类型
System.out.println(rs.getString(2)); //获得数据表test中第2个字段的数据,该字段为字符串类型
}
rs.close(); //关闭数据记录集
conn.close(); //关闭数据库连接
} catch (SQLException e) {
System.out.println("Error:"+e.toString()+e.getMessage());
}
java 连接 mysql 和连接oracle 是相同的
第一步 配置驱动
第二步 配置数据库服务地址默认端口 3306
第三步 打开连接(配置用户和密码)
具体代码如下:
String url = "jdbc:mysql://localhost:3306/javademo?user=rootpassword=rootuseUnicode=truecharacterEncoding=UTF8";
Class.forName("com.mysql.jdbc.Driver");// 动态加载mysql驱动
conn = DriverManager.getConnection(url);
Statement stmt = conn.createStatement();
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=truecharacterEncoding=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类来调用连接类里面的方法,实现自己所需用的功能。
1. 在开发环境中加载指定数据库的驱动程序。
接下来的实验中,使用数据库MySQL,所以需要下载MySQL支持JDBC的驱动程序(mysql-connector-java-5.1.18-bin.jar)。
2. 开发环境是MyEclipse,将下载得到的驱动程序加载进开发环境中。
3. 在Java程序中加载驱动程序。
在Java程序中,通过 “Class.forName(“指定数据库的驱动程序”)”
方式来加载添加到开发环境中的驱动程序,例如Class.forName(“com.mysql.jdbc.Driver”)。
4. 创建数据连接对象:通过DriverManager类创建数据库连接对象Connection。
DriverManager类作用于Java程序和JDBC驱动程序之间,用于检查所加载的驱动程序是否可以建立连接,然后通过它的getConnection方法,根据数据库的URL、用户名和密码,创建一个JDBC
Connection 对象。代码如:Connection connection = DriverManager.getConnection(“连接数据库的URL", "用户名",
"密码”)。
其中,URL=协议名+IP地址(域名)+端口+数据库名称;用户名和密码是指登录数据库时所使用的用户名和密码。具体示例创建MySQL的数据库连接代码如下:
Connection connectMySQL =
DriverManager.geiConnection(“jdbc:mysql://localhost:3306/myuser","root"
,"root" );
5. 创建Statement对象:Statement 类的主要是用于执行静态 SQL
语句并返回它所生成结果的对象。
通过Connection 对象的 createStatement()方法可以创建一个Statement对象。例如:Statement statament =
connection.createStatement(); 具体示例创建Statement对象代码如下:Statement statamentMySQL =connectMySQL.createStatement();
6. 调用Statement对象的相关方法执行相对应的 SQL
语句:通过execuUpdate()方法用来数据的更新,包括插入和删除等操作,例如向staff表中插入一条数据的代码:
statement.excuteUpdate( "INSERT INTO
staff(name, age, sex,address, depart, worklen,wage)" + " VALUES ('Tom1', 321,
'M', 'china','Personnel','3','3000' ) ") ;
7. 通过调用Statement对象的executeQuery()方法进行数据的查询,而查询结果会得到
ResulSet对象,ResulSet表示执行查询数据库后返回的数据的集合,ResulSet对象具有可以指向当前数据行的指针。通过该对象的next()方法,使得指针指向下一行,然后将数据以列号或者字段名取出。如果当next()方法返回null,则表示下一行中没有数据存在。使用示例代码如下:
ResultSet resultSel =
statement.executeQuery( "select * from staff" );
8. 关闭数据库连接:使用完数据库或者不需要访问数据库时,通过Connection的close() 方法及时关闭数据连接。
1.下面代码是使用jdbc直接来链接mysql的操作,方式与SQL SERVER类似,区别在于加载的驱动不同,url的设置也有点区别。
2.执行脚本返回的结果,可以看出java成功链接上mysql并获取到返回值
3.mysql-connector-java-5.1.26-bin.jar是java链接mysql使用的jar包,与SQL SERVER链接也有专门的jar包,jar包中包含了java链接mysql所用到的函数驱动等等,所有的jar包都是放到web工程lib目录下
4.如果工程是整合在ssh下,一般情况下都会有一个properties文件,该文件配置了数据库链接常用的命令,下图是mysql中的配置
5.使用spring框架下进行的测试,结果可以成功执行,无论是sql server还是mysql还是其他的数据库,基本功能都一样,只是语法结构有所区别,java在调用的过程中大部分功能只要切换了数据库链接命令就可以公用,如果系统架构设计的足够好,切换数据库的时候,应用程序是不用调整就能兼容的
import java.sql.*;
public class Conn {
static Connection con;
static PreparedStatement sql;
static ResultSet res;
public Connection getConnection(){
try {
Class.forName("com.mysql.jdbc.Driver");//需要自己下载
} catch (Exception e) {
e.printStackTrace();
}
try {
con= DriverManager.getConnection("jdbc:mysql://127.0.0.1/dbtest","root","123456"); //需要根据自己的修改
} catch (Exception e) {
e.printStackTrace();
}
return con;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Conn c=new Conn();
c.getConnection();
try {
sql= con.prepareStatement("select * from students");//选择数据表,后面的操作就是根据自己的特殊情况具体实现了
res=sql.executeQuery();
System.out.println("执行增删改前的数据:");
while (res.next()) {
String id=res.getString(1);
String name=res.getString("name");
String age=res.getString("age");
System.out.print("编号"+id+"\t");
System.out.print("姓名"+name+"\t");
System.out.println("年龄"+age+"\t");
}
sql=con.prepareStatement("insert into students values(?,?,?)");
sql.setString(1, "9");
sql.setString(2, "tf");
sql.setString(3, "33");
sql.executeUpdate();
sql=con.prepareStatement("update students set age=?where id='1'");
sql.setString(1, "55");
sql.executeUpdate();
Statement stmt=con.createStatement();
stmt.executeUpdate("delete from students where id='5'");
sql=con.prepareStatement("select * from students");
res=sql.executeQuery();
System.out.println("执行增删改后的数据:");
while (res.next()) {
String id=res.getString(1);
String name=res.getString("name");
String age=res.getString("age");
System.out.print("编号"+id+"\t");
System.out.print("姓名"+name+"\t");
System.out.println("年龄"+age+"\t");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}