一、准备工作
1、安装MySQL,
2、安装Navicat Premium,因为只安装MySQL无法观看,管理具体数据库信息所以要安装Navicat Premium数据库管理工具。
3、下载下载MySQL jdbc驱动:mysql-connector-java-5.1.42-bin.jar。
二、连接
1、加载数据库驱动程序
首先将上面下载的驱动程序导入项目中,之后找到Driver.class的路径,书写下述代码
Class.forName("com.mysql.jdbc.Driver");
2、连接数据库
在DriverManager.getConnection(url, user, password)中url指要连接数据库的地址,user指用户名,password指密码。
Connection connection = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test", "root", "");
connection对象表示一个打开的连接
3、创建sql语句对象
Statement statement = connection.createStatement();
statement对象用于传递sql语句给数据库管理系统执行。
4、书写sql语句
(1) 插入语句案例
String sql = "insert into use_info (id,user_name,password) values ('id','user_name','password')";
(2) 修改语句案例
String sql = "update student set name='名字',address='地址',mobile='手机号' where id='11'";
(3) 删除语句案例
String sql = "delete from student where id='id'";
要进行不同的操作只需修改不同的sql语句即可。
5、执行
int affect = statement.executeUpdate(sql);
executeUpdate()用于执行update,insert,delete语句,返回一个整数,整数代表此次操作所影响的表的行数。
6、释放资源,关闭连接
statement.close(),contection.close()注意先释放资源再断开连接。
三、具体代码及细节
在进行编写java代码前首先在Nvicat中创建use_info表
public static void main(String[] args) {
Connection connection = null;
Statement statement = null;
ResultSet resultset = null;
String uuid = null;
String sql = null;
int affect = 0;
try {
Class.forName("com.mysql.jdbc.Driver");//加载驱动
contection = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test", "root", "");//连接数据库
statement = contection.createStatement();//创建sql语句对象
for (int i = 0; i < 10; i++) {
uuid=UUID.randomUUID().toString();
sql = "insert into use_info (id,user_name,password) values ('"+uuid+"','"+i+"','"+i+"')";//记录操作语句
affect = statement.executeUpdate(sql);//对表执行操作,并记录影响行数
System.out.println(affect);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {//首先释放资源
if (statement!=null) {//此处加判断是为了防止出现空指针异常,例如若16行代码出错则会导致statement为null,会引发空指针
statement.close();
}
} catch (Exception e) {
e.printStackTrace();
}
try {//再断开连接
if (contection!=null) {//此处判断未来防止空指针异常
contection.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
执行结果在在test数据库中的use_info表中添加了10条信息。
注意:上述代码中最后的finally部分不能写成:
finally {
try {
if (statement!=null) {
statement.close();
}
if (contection!=null) {
contection.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
因为若statement·.close()出现异常则连接将不能断开。