java+mysql java连接mysql数据库
大家好,今天给各位分享java+mysql的一些知识,其中也会对java连接mysql数据库进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!
java是怎么连接mysql数据库的
1,安装JDK
2,安装eclipse(IDE), java集成开发环境,当然也有其他,读者自行选择.
3,安装JDBC,数据库驱动,下载地址截至发博时最新驱动.
把下载好的文件解压到任意目录,这里我为了便于管理,放在和JDK一起的目录当中,如图:
之后把mysql-connetor-java-5.1.22文件夹下的mysql-connector-java-5.1.22-bin.jar添加到CLASSPATH里面
找到CLASSPATH的方式为“我的电脑”->“属性”->“高级”->“环境变量”
之后如图编辑:
一路确定即可.
4,我们来测试一下.
一,登录数据库,格式为 mysql-u(用户名)-p(密码);我的是 mysql-uroot-pll;
从这里可以看出来我是以超级管理员登录数据库的,密码是ll.使用命令show database;则窗口列出了所有的当前的数据库,
其实,这里的test数据库是本人之前建的空数据库,里面什么都没有,通过use test;命令.我们就进入了数据库test,然后用命令 show tables;则列出当前数据库所有的表;
如果你的没有,那么用命令 create database test;来建一个,以便于测试.
现在我要为我的数据库建表,并为其导入数据.我们这里建一个学生表,最易最后一行没有逗号.
1 CREATE TABLE student
2(
3 StudentNo VARCHAR(20) PRIMARY KEY,
4 Name VARCHAR(10),
5 Phone VARCHAR(20),
6 Age int
7);
这是用show tables;就可以看见student了.
好的为它导入数据.首先建一个txt文件,文件的内容如图,每一项内容,与表中的格式相对应,中间用tab键隔开.这里本人取名为student.txt,且处在F盘根目录下.
1 11111111东邪 11111001 19
2 22222222西毒 22222002 20
3 33333333南帝 33333003 30
4 44444444被盖 44444404 40
5 55555555中神通 55555505 50
使用命令如下命令将建好的txt文件导入表中
1 load data infile'F:\student.txt' into table student;
使用命令查看表中的内容
1 select* from student;
成功建好表了!现在开始写我们的java文件.看看能不能喝数据库进行连接.
5,java连接数据库.
首先是我们的java源文件
1 import java.sql.*;
2 public class JavaMysql
3{
4 public static void main(String[] args) throws Exception
5{
6 String driver="com.mysql.jdbc.Driver";
7 String url="jdbc:mysql://127.0.0.1:3306/test";
8 Class.forName(driver);
9 Connection connecter=DriverManager.getConnection(url,"root","ll");
10 if(!connecter.isClosed()) System.out.println("success in getConnetion");
11 Statement statement=connecter.createStatement();
12 ResultSet rs=statement.executeQuery("select* from student");
13 System.out.println("编号"+"\t"+"名字"+"Phone"+"\t"+"Age");
14 String No=null,Name=null,Phone=null,Age=null;
15 while(rs.next())
16{
17 No=rs.getString("studentNo");
18 Name=rs.getString("Name");
19 Phone=rs.getString("Phone");
20 Age=rs.getString("Age");
21 System.out.println(No+"\t"+Name+"\t"+Phone+"\t"+Age);
22}
23}
24
25}
执行:
用java连接mysql实现对表中的数据查找,插入,修改等功能,
JDBC操作MySQL数据库的步骤
1、准备MySQL数据库驱动包:mysql-connector-java-5.0.8-bin.jar,一个项目中只能存在一个版本的驱动包
a、复制该驱动包,粘贴到项目中
b、选中项目里的驱动包,右键->Build Path->Add to Build Path
2、在类里写代码加载驱:决定连接哪种数据库
a、Class.forName("com.mysql.jdbc.Driver");
b、必须进行异常处理:ClassNotFoundException
3、连接数据库
a、Connection con=DriverManager.getConnection("连接字符串","用户名","密码");
b、连接字符串格式固定,不同数据库,格式不同:jdbc:mysql://要连接的计算机名称:端口号/要连接的数据库名称
c、必须进行异常处理:SQLException
4、拼写要执行的sql语句,必须是可以在数据库中执行的
5、创建执行sql语句的对象
a、Statement stmt=con.createStatement();
b、注意:Statement必须来自于java.sql包中
6、执行sql语句
a、执行insert、update和delete语句:int row=stmt.executeUpdate(sql);返回影响行数
b、执行查询语句:ResultSet rs=stmt.executeQuery(sql);返回查询结果
c、执行任意sql语句(DDL、DCL、DML和DQL等)
7、对执行结果进行处理
a、执行更新语句:判断影响行数是否为0,0表示失败,非0表示成功
b、对查询结果进行处理:
1)结果集需要先移动、后取值:rs.next();int id=rs.getInt(1);
String name=rs.getString("loginName");
2)结果集有多条时,需要循环操作:
while(rs.next()){ System.out.println(rs.getInt(1)+"\t"+rs.getString(2)+"\t"+rs.getString(3)+"\t"+rs.getString(4)+"\t"+rs.getInt(5));
}
3)不确定是否有查询结果时:if(rs.next()){说明有查询结果}else{没有查询结果}
4)使用了聚合函数,一定有查询结果,查询结果是一行一列:
rs.next();
int result=rs.getInt(1);
注意:结果集取值时取出的时查询语句中包含的字段,与表中字段无关
9、关闭相关对象(先关闭结果集对象、在关闭执行语句对象,最后关闭连接对象)
例如:执行查询语句
Scanner input=new Scanner(System.in);
System.out.print("请输入登录名:");
String name=input.next();
System.out.print("请输入密码:");
String pass=input.next();
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/userdb","root","root");
String sql="select COUNT(*) from UserInfo where loginName='"+name+"' and loginPass='"+pass+"'";
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery(sql);
rs.next();
int result=rs.getInt(1);
if(result!=0){
System.out.println("登录成功!");
}else{
System.out.println("用户名或密码错误,请重新登录!");
}
rs.close();
stmt.close();
con.close();
} catch(ClassNotFoundException e){
System.out.println("加载驱动错误:"+e.getMessage());
} catch(SQLException e){
System.out.println("数据库操作错误:"+e.getMessage());
}
执行添加、修改和删除语句
try{
//加载驱动
Class.forName("com.mysql.jdbc.Driver");
//连接数据库
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/userdb","root","root");
//拼写要执行的sql语句
String sql="update UserInfo set loginPass='111' where loginName='a'";
//String sql="insert UserInfo values(default,'test','test')";
//String sql="delete from UserInfo where loginName='a'";
//创建执行语句对象
Statement stmt=con.createStatement();
//执行
int row=stmt.executeUpdate(sql);
//处理结果
if(row==0){
System.out.println("修改失败!");
}else{
System.out.println("修改成功!");
}
//关闭
stmt.close();
con.close();
} catch(ClassNotFoundException e){
System.out.println("驱动加载错误:"+e.getMessage());
} catch(SQLException e){
System.out.println("数据库操作错误:"+e.getMessage());
}
怎样用java连接mysql
首先要下载Connector/J地址:
这是MySQL官方提供的连接方式:
解压后得到jar库文件,需要在工程中导入该库文件
我是用的是Eclipse:
JAVA连接MySQL稍微繁琐,所以先写一个类用来打开或关闭数据库:
DBHelper.java
Java代码
packagecom.hu.demo;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.PreparedStatement;
importjava.sql.SQLException;
publicclassDBHelper{
publicstaticfinalStringurl="jdbc:mysql://127.0.0.1/student";
publicstaticfinalStringname="com.mysql.jdbc.Driver";
publicstaticfinalStringuser="root";
publicstaticfinalStringpassword="root";
publicConnectionconn=null;
publicPreparedStatementpst=null;
publicDBHelper(Stringsql){
try{
Class.forName(name);//指定连接类型
conn=DriverManager.getConnection(url,user,password);//获取连接
pst=conn.prepareStatement(sql);//准备执行语句
}catch(Exceptione){
e.printStackTrace();
}
}
publicvoidclose(){
try{
this.conn.close();
this.pst.close();
}catch(SQLExceptione){
e.printStackTrace();
}
}
}
再写一个Demo.java来执行相关查询操作
Demo.java
Java代码
packagecom.hu.demo;
importjava.sql.ResultSet;
importjava.sql.SQLException;
publicclassDemo{
staticStringsql=null;
staticDBHelperdb1=null;
staticResultSetret=null;
publicstaticvoidmain(String[]args){
sql="select*fromstuinfo";//SQL语句
db1=newDBHelper(sql);//创建DBHelper对象
try{
ret=db1.pst.executeQuery();//执行语句,得到结果集
while(ret.next()){
Stringuid=ret.getString(1);
Stringufname=ret.getString(2);
Stringulname=ret.getString(3);
Stringudate=ret.getString(4);
System.out.println(uid+"\t"+ufname+"\t"+ulname+"\t"+udate);
}//显示数据
ret.close();
db1.close();//关闭连接
}catch(SQLExceptione){
e.printStackTrace();
}
}
}
测试数据库是在上一章中建立的,所以直接查询:
结果和用C#连接MySQL查询的结果一样
好了,文章到这里就结束啦,如果本次分享的java+mysql和java连接mysql数据库问题对您有所帮助,还望关注下本站哦!