作者简介
作者名:编程界明世隐 简介:CSDN博客专家,从事软件开发多年,精通Java、JavaScript,博主也是从零开始一步步把学习成长、深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢迎您关注,期待与您一起学习、成长、起飞!
引言
我本来是一直用eclipse和myeclipse的老程序员了,很多我的粉丝小伙伴都说他们要用idea,问我怎么不用idea,其实明哥觉得用啥开发工具都不是重点,重点是要跟着明哥多学Java知识、多练习,但是作为一个宠粉的人,我怎么能拒绝粉丝的要求呢,于是我偷偷的去学习了一波(拿来吧你),然后就写了这个系列,希望小伙伴们能有所收获,明哥会努力更新的。
导航
? idea从零到精通目录索引 ?上一篇【10】JDK下载安装与配置 ?下一篇【12】用C3P0连接Mysql数据库
热门专栏推荐
【1】Java小游戏(俄罗斯方块、飞机大战、植物大战僵尸等) 【2】JavaWeb项目实战(图书管理、在线考试、宿舍管理等) 【3】JavaScript精彩实例(飞机大战、贪吃蛇、验证码等) 【4】Java小白入门200例 【5】从零学Java、趣学Java 【6】Idea从零到精通
一、创建web项目
File – NEW – Project – Java Enterprise – Next 填入好工程名,点击完成
二、加入Mysql驱动
打开项目,一次打开目录,web–WEB-INF–lib 加入Mysql的驱动jar包。 File – Project Structure… – Libraies
点击“加号” – Java 选择好你项目中lib下的驱动jar包,点击OK 加入后效果图如下,点击OK
三、编写查询代码
-
创建数据库连接类 -
加载JDBC驱动程序 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),这通过java.lang.Class类的静态方法forName(String className)实现。 在新创建的类中编写代码如下:
import java.sql.Connection;
public class DBConnection {
public Connection getConnection(){
Connection conn = null;
try{
Class.forName("com.mysql.jdbc.Driver") ;
}catch(ClassNotFoundException e){
System.out.println("找不到驱动程序类 ,加载驱动失败!");
e.printStackTrace() ;
}
return conn;
}
}
- 创建数据库的连接
要连接数据库,需要向java.sql.DriverManager请求并获得Connection对象,该对象就代表一个数据库的连接。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DBConnection {
public Connection getConnection() {
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
System.out.println("找不到驱动程序类 ,加载驱动失败!");
e.printStackTrace();
}
String url = "jdbc:mysql://localhost:3306/library";
String username = "root";
String password = "root";
try {
conn = DriverManager.getConnection(url, username, password);
} catch (SQLException se) {
System.out.println("数据库连接失败!");
se.printStackTrace();
}
return conn;
}
}
- 创建preparedStatement、执行查询、遍历结果集、关闭JDBC对象资源
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBC_Test {
static Connection conn = null;
static Statement stmt;
public static void main(String[] args) {
query();
}
public static void query() {
ResultSet rs = null;
conn = new DBConnection().getConnection();
try {
String sql = "select * from user";
stmt = (Statement) conn.createStatement();
rs = stmt.executeQuery(sql);
System.out.println("最后的查询结果为:");
while (rs.next()) {
String name = rs.getString("name");
String no = rs.getString("no");
System.out.println("名字:" + name + ",账号 " + no);
}
conn.close();
} catch (SQLException e) {
System.out.println("查询数据失败");
}
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (stmt != null) {
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
四、测试查询代码
运行以上代码结果如下:
最后的查询结果为: 名字:超级管理,账号 sa 名字:student001,账号 001 名字:student002,账号 002 名字:管理员1,账号 admin 名字:管理员002,账号 admin2
五、编写插入代码
public static void insert() {
conn = new DBConnection().getConnection();
try {
String sql = "insert into user(no,name,password,sex,phone,role_id,isValid) values(?,?,?,?,?,?,?)";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1,"ming");
ps.setString(2,"编程界明世隐");
ps.setString(3,"123456");
ps.setString(4,"1");
ps.setString(5,"13579");
ps.setString(6,"0");
ps.setString(7,"Y");
ps.executeUpdate();
conn.close();
if (ps != null) {
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
} catch (SQLException e) {
System.out.println("插入数据失败");
}
}
但是运行发现是插入到数据库的中文是乱码,需要在获取数据库连接代码的数据库地址做修改,如下(当然前提是你数据库的编码也设置成了UTF-8):
String url = “jdbc:mysql://localhost:3306/library?characterEncoding=utf8”;
调用 insert和query方法
public static void main(String[] args) {
insert();
query();
}
运行结果:
最后的查询结果为: 名字:超级管理,账号 sa 名字:student001,账号 001 名字:student002,账号 002 名字:管理员1,账号 admin 名字:管理员002,账号 admin2 名字:编程界明世隐,账号 ming
可以看到插入的新数据 “编程界明世隐”。
六、编写修改代码
public static void update() {
conn = new DBConnection().getConnection();
try {
String sql = "update user set no=? where name=?";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1,"ming123");
ps.setString(2,"编程界明世隐");
ps.executeUpdate();
conn.close();
if (ps != null) {
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
} catch (SQLException e) {
System.out.println("修改数据失败");
}
}
在main方法中调用 update 和 query方法
public static void main(String[] args) {
update();
query();
}
运行结果
最后的查询结果为: 名字:超级管理,账号 sa 名字:student001,账号 001 名字:student002,账号 002 名字:管理员1,账号 admin 名字:管理员002,账号 admin2 名字:编程界明世隐,账号 ming123
编程界明世隐 对应的账号被改为了 “ming123”
七、编写删除代码
public static void delete() {
conn = new DBConnection().getConnection();
try {
String sql = "delete from user where name=?";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1,"编程界明世隐");
ps.executeUpdate();
conn.close();
if (ps != null) {
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
} catch (SQLException e) {
System.out.println("修改数据失败");
}
}
在main方法中调用
public static void main(String[] args) {
delete();
query();
}
运行结果:
最后的查询结果为: 名字:超级管理,账号 sa 名字:student001,账号 001 名字:student002,账号 002 名字:管理员1,账号 admin 名字:管理员002,账号 admin2
可以看到 “编程界明世隐”这条记录被删除。
小结
这节总结了“ 用JDBC连接Mysql数据库 ”,希望能对大家有所帮助,请各位小伙伴帮忙 【点赞】+【收藏】+ 【评论区打卡】, 如果有兴趣跟小明哥一起学习Java的,【关注一波】不迷路哦。
评论区打卡一波让我知道你,明哥会持续关注你的学习进度哦!
导航
? idea从零到精通目录索引 ?上一篇【10】JDK下载安装与配置 ?下一篇【12】用C3P0连接Mysql数据库
热门专栏推荐
【1】Java小游戏(俄罗斯方块、飞机大战、植物大战僵尸等) 【2】JavaWeb项目实战(图书管理、在线考试、宿舍管理等) 【3】JavaScript精彩实例(飞机大战、贪吃蛇、验证码等) 【4】Java小白入门200例 【5】从零学Java、趣学Java 【6】Idea从零到精通
|