【省略了配置tomcat和安装IDEA的过程。】文章介绍了如何配置MySQL,如何通过JDBC连接数据库,以及如何实现对数据库的增删改查。
一、常见问题
1.安装mysql卡在最后start service一步:没有删除干净。删除注册表里所有的mysql相关就可以了。
2.execute、executeUpdate、executeQuery三者的区别(及返回值)
executeQuery
executeUpdate(String sql)
execute(String sql)
执行SQL查询,并返回ResultSet 对象
可执行增,删,改,返回执行受到影响的行数
可执行任何SQL语句,返回一个布尔值,表示是否返回ResultSet
ResultSet rs = prst.executeQuery();
while (rs.next()) {...}
返回int
返回boolean
二、配置MySQL
以前安装过MySQL的,再次安装会遇到问题,这时候要看是否将MySQL删除干净了。
1.卸载软件,通过控制面板2.删除文件夹,在安装目录和C:\ProgramData隐藏文件夹下3.删除注册表中的mysql相关内容
删除HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL文件夹删除HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL文件夹。删除HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL的文件夹。
三、连接数据库
1.项目目录:
2.导入jar包,这里我用的是mysql-connector-java-5.1.30.jar,在官网找半天没有下载成功,最后是在这个网站下载的:
3.连接数据库
4.数据库中建表我在test数据库中建立了student表格,随意输入了两条信息作为测试数据,如下图:
5.测试代码DBTest中:
packagecom.dgd.test;import java.sql.*;/***@authorDgd
* @create 2017-10-16-21:25
* 测试数据库*/
public classDBTest {//mysql驱动包名
private static final String DRIVER_NAME = "com.mysql.jdbc.Driver";//数据库连接地址
private static final String URL = "jdbc:mysql://localhost:3306/test";//用户名
private static final String USER_NAME = "root";//密码
private static final String PASSWORD = "123456";public static voidmain(String[] args){
Connection connection= null;try{//加载mysql的驱动类
Class.forName(DRIVER_NAME);//获取数据库连接
connection =DriverManager.getConnection(URL, USER_NAME, PASSWORD);//mysql查询语句
String sql = "SELECT Sname FROM student";
PreparedStatement prst=connection.prepareStatement(sql);//结果集
ResultSet rs =prst.executeQuery();while(rs.next()) {
System.out.println("用户名:" + rs.getString("Sname"));
}
rs.close();
prst.close();
}catch(Exception e) {
e.printStackTrace();
}finally{if (connection != null) {try{
connection.close();
}catch(SQLException e) {
e.printStackTrace();
}
}
}
}
}
6.测试成功,显示测试用例
7.删除一条数据
修改代码如下:
Statement stmt=connection.createStatement();
String sql= "DELETE FROM student WHERE Sname='李'"; //mysql查询语句
stmt.executeUpdate(sql);
System.out.println("成功删除");
String sql2= "SELECT * FROM student";
PreparedStatement prst=connection.prepareStatement(sql2);
ResultSet rs= prst.executeQuery();//结果集
结果如下:
7.添加多条数据
修改之前的代码,变为
String sql = "INSERT INTO student VALUES (111,'王'),(222,'钱')";
结果如下:
8.修改多条数据
修改代码如下:
Statement stmt=connection.createStatement();//String sql = "DELETE FROM student WHERE Sname='李'";//mysql查询语句
String sql = "UPDATE student SET Sname = CASE id " +
" WHEN 111 THEN '刘' " +
" WHEN 222 THEN '孙' " +
" END " +
" WHERE id IN (111,222) ";
stmt.executeUpdate(sql);
System.out.println("成功修改");
结果如图所示: