目录
前言
大家好,我是。个人主页:的博客
本文用的Idea演示主要讲了如何用idea完成jdbc连接,Java实现MySQL简单增删改查操作。
走过路过的小伙伴们点个赞和关注再走吧,欢迎评论区交流,努力什么时候开始都不算晚,那不如就从这篇文章开始!
大家一起成长呀!笔芯
**1.**新建项目
新建一个项目,fileànewàproject如下图:
选择Javaà下一步,如下图:(注意如果jdk推荐使用jdk1.8版本哦,如果不是可以在project SDK中更换,Add JDK,找到自己电脑上放JDK1.8的地方,没有的话自行下载哦)
继续下一步
创建项目名字(自己起就行,注意项目名不要大写),找一个存放的地址,也自己决定就行。
**2.**添加jar包
一般默认位置是在如下位置:C:Program Files (x86)MySQLConnector J 8.0
Fileàproject Structureàmodulesàdepencenlesà加号添加jar包
找到c盘下C:Program Files (x86)MySQLConnector J 8.0的位置
选中后OK。完成
添加jar包成功
3.jdbc****的连接
再在包中新建一个Java文件如下
实现JDBC连接然后我的代码和结果截图如下:
package?com.wang.dao;
import?java.sql.*;
//用Java实现MySQL的增删改查操作
public?class?Test1Demo?{
????public?static?void?main(String[]args){
????????String?url="jdbc:mysql://localhost:3306/ishop?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8";//mysql8的连接字符串,多了时区比之前的5
????????String?name="root";
????????String?password="root";
????????String?sql="SELECT?*from?tbl_commoditytype";
????????//1.加载驱动
????????try?{
????????????Class.forName("com.mysql.cj.jdbc.Driver");//在有错误提示的时候光标移到错误处,alt+enter,
????????????try?{
????????????????//2.创建连接
????????????????Connection??connection=?DriverManager.getConnection(url,name,password);
????????????????//3.创建命令窗口
????????????????Statement?statement?=?connection.createStatement();
????????????????//4.执行命令窗口里的语句
????????????????ResultSet?resultSet?=?statement.executeQuery(sql);
????????????????//5.处理返回的结果集
????????????????while?(resultSet.next()){
????????????????????//打印行的每一列
??????????????????System.out.println(resultSet.getInt(1)+" "+resultSet.getString(2));
????????????????}
????????????????//6.关闭资源
????????????????resultSet.close();
????????????????statement.close();
????????????????connection.close();
????????????}?catch?(SQLException?e)?{
????????????????e.printStackTrace();
????????????}
????????}?catch?(ClassNotFoundException?e)?{
????????????e.printStackTrace();
????????}
????}
}
要注意以下位置数据库和SQL语句是否存在自己的MySQL中,以及是否匹配。还有用户名和密码是否是自己的。
4、简单的MySQL增删改查操作
实现MySQL增删改操作如下:(仔细看注释掉的东西,这三个操作是换了在注释里的部分代码运行了三次啊)
package com.wang.demo;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class Test01 {
??? public static void main(String[] args) {//psvm回车可以直接敲出来哦
??????? //1.加载驱动
??????? try {
??????????? Class.forName("com.mysql.cj.jdbc.Driver");
??????? } catch (ClassNotFoundException e) {
??????????? e.printStackTrace();
??????? }
??????? //2.获取链接,驱动管理器
??????? String url="jdbc:mysql://localhost:3306/ishop?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8";
??????? String user="root";
??????? String password="root";
??????? Connection connection = null;
??????? try {
??????????? connection = DriverManager.getConnection(url, user, password);
??????? } catch (SQLException e) {
??????????? e.printStackTrace();
??????? }
??????? //3.获取命令
??????? Statement statement = null;
??????? try {
??????????? statement = connection.createStatement();
??????? } catch (SQLException e) {
??????????? e.printStackTrace();
??????? }
?????? // String sql="insert into tbl_commoditytype (id,name) values (6,'AA')"; //这个地方我后来发现我的数据库表中id忘记设置自增长,就直接在这里直接写上了id的值。之后增删改操作依次执行可查看表得三个结果图
??????? //String sql="update tbl_commoditytype set name ='bb' where id=6";
??????? String sql="delete from tbl_commoditytype where id=6";
??????? int i = 0;
??????? //executeUpdate是做增删改的
???? ???//4.得到结果集并处理
??????? try {
??????????? i = statement.executeUpdate(sql);
??????? } catch (SQLException e) {
??????????? e.printStackTrace();
??????? }
??????? System.out.println(i);//sout回车可快速创建System.out.println()哦
??????
??????? //5.关闭资源
??????? //用到的connection(连接),statement(命令窗口),两个接口,resultSet一个实现类(结果集)
??????? try {
??????????? statement.close();
??????? } catch (SQLException e) {
??????????? e.printStackTrace();
??????? }
??????? try {
??????????? connection.close();
??????? } catch (SQLException e) {
??????????? e.printStackTrace();
??????? }
??? }
}
实现简单的查询操作
先把增删改操作的代码都复制粘贴过来(程序员怎么能不会复制粘贴嘿嘿),再把增删改变成查询语句String sql=”select*from tbl_commoditytype”;对应的executeUpdate();换为了executQuery()。具体如下
package com.wang.demo;
import java.sql.*;
/**
?* 斜杠双星回车即可得这种注释
?* 使用Statement进行查询操作
?*/
public class Test02 {
??? public static void main(String[] args) {
??????? //1.加载驱动
??????? try {
??????????? Class.forName("com.mysql.cj.jdbc.Driver");
??????? } catch (ClassNotFoundException e) {
??????????? e.printStackTrace();
??????? }
??????? //2.获取链接,驱动管理器
??????? String url="jdbc:mysql://localhost:3306/ishop?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8";
??????? String user="root";
??????? String password="root";
??????? Connection connection = null;
??????? try {
??????????? connection = DriverManager.getConnection(url, user, password);
??????? } catch (SQLException e) {
??????????? e.printStackTrace();
??????? }
??????? //3.获取命令
??????? Statement statement = null;
????? ??try {
??????????? statement = connection.createStatement();
??????? } catch (SQLException e) {
??????????? e.printStackTrace();
??????? }
??????? // String sql="insert into tbl_commoditytype (id,name) values (6,'AA')";
??????? //String sql="update tbl_commoditytype set name ='bb' where id=6";
??????? //String sql="delete from tbl_commoditytype where id=6";
??????? String sql="select *from tbl_commoditytype";
??????? ResultSet resultSet=null;
??????? //executeUpdate是做增删改的
??????? // 4.得到结果集并处理
??????? try {
??????????? resultSet = statement.executeQuery(sql);
??????????? //处理结果集,两种方法,if(一条记录)/while(不确定或者多条数据)
??????????? while(resultSet.next()){
?????????????? String o= resultSet.getInt(1)+" "+resultSet.getString(2);
??????????????? //因为我的表第一列是int,第二列是string。也可以把2换成name,也就是把索引(columnindex)换成列名(columnlabel}
??????????????? System.out.println(o);
??????????? }
??????? } catch (SQLException e) {
??????????? e.printStackTrace();
??????? }
??????? //sout回车可快速创建System.out.println()哦
??????? //5.关闭资源
??????? //用到的connection(连接),statement(命令窗口),两个接口,resultSet一个实现类(结果集)
??????? try {
??????????? statement.close();
??????? } catch (SQLException e) {
??????????? e.printStackTrace();
??????? }
??????? try {
??????????? connection.close();
??????? } catch (SQLException e) {
??????????? e.printStackTrace();
??????? }
??? }
}
最后
深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
小编已加密:aHR0cHM6Ly9kb2NzLnFxLmNvbS9kb2MvRFVrVm9aSGxQZUVsTlkwUnc==出于安全原因,我们把网站通过base64编码了,大家可以通过base64解码把网址获取下来。