在项目下常见一个文件夹lib(可以为任意名字,一般我们起lib)
然后将刚才的jar包复制到目录下
右击jar包选择Build Path下的Add to Build Path,添加指定路径
然后你的这个目录下就有这个东西了
里面就是我们需要用到的的一些JDBC类
在项目的结构中有util包,我们在util包下专门创建一个类来进行数据库的连接
首先我们定义四个变量 分别为url(数据库地址),name(数据库名称),password(数据库密码),con(和数据库连接的对象)。
public class MyCon {
//此处的store为你要操作的数据库的库名
private String url=“jdbc:mysql://localhost:3306/store? useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true”;
//用户名
private String name = “root”;
//密码
private String password = “”;
//连接对象
private Connection con = null ;
}
然后我们创建一个方法用来得到我们的连接。
public Connection getCon() {}
怎么建立连接,首先我们要加载驱动,驱动在哪呢?
我们使用Class.forName("com.mysql.cj.jdbc.Driver");
来加载我们的驱动,然后得到我们的连接
public Connection getCon() {
try {
//加载驱动
Class.forName(“com.mysql.cj.jdbc.Driver”);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
//得到连接
con = DriverManager.getConnection(url, name, password);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return con;
}
我们可以在添加一个方法用来释放我们的链接
public void setClose(ResultSet res,PreparedStatement ps,Connection con) throws SQLException {
//查询的结果集
if (res!=null) {
res.close();
}
//用来进行sql操作sql语句的面板
if (ps!=null) {
ps.close();
}
//和数据库的连接
if (con!=null) {
con.close();
}
}
然后我们进行测试
在dao包下建一个关于emp的接口,其中 是最基本的功能,也就是最基本的增删改查
其中的方法都有如下几部分
package com.dyit.store.dao;
import java.sql.SQLException;
import java.util.List;
import com.dyit.store.eneity.Emp;
/**
-
定义对数据库的增删改查操作
-
@author strve
*/
public interface EmpDao {
/**
-
插入员工信息
-
@param emp 员工
-
@return 是否插入成功
-
@throws SQLException
*/
public boolean insertEmp(Emp emp) throws SQLException;
/**
-
修改员工信息
-
@param emp
-
@return
*/
public boolean updateEmp(Emp emp);
/**
-
删除员工信息
-
@param emp
-
@return
*/
public boolean deleteByEmp(Emp emp);
public boolean deleteByEmpId(int empId);
/**
-
查找员工
-
@param id
-
@return
*/
public Emp queryById(int id);
/**
-
查找所有员工的信息
-
@return
*/
public List queryAll();
/**
-
分页查询
-
@param page
-
@param pagesize
-
@return
*/
public List queryByPage(int page,int pagesize);
/**
-
返回总数
-
@return
*/
public int getTotal();
List queryByLike(String empname);
}
然后我们创建其的实现类
实现类中实现的是对数据库的基本操作,增上改查。首先我们定义几个基本属性。
private String sql;
private Connection con;
private PreparedStatement ps;
private ResultSet rs;
首先我们来看插入操作,代码如下:
@Override
public boolean insertEmp(Emp emp) {
boolean flag = false;
sql = “INSERT INTO emp VALUES(0,?,?,?,?,?,?,?,?)”;
MyCon mc = new MyCon();
con = mc.getCon();
try {
/*
-
private int empId; private int deptId; private String eName; private String
-
pwd; private String sex; private int age; private String address; private
-
String tel; private double salary; private String deptName;
*/
ps = con.prepareStatement(sql);
ps.setInt(1, emp.getDeptId());
ps.setString(2, emp.geteName());
ps.setString(3, emp.getPwd());
ps.setString(4, emp.getSex());
ps.setInt(5, emp.getAge());
ps.setString(6, emp.getAddress());
ps.setString(7, emp.getTel());
ps.setDouble(8, emp.getSalary());
int res = ps.executeUpdate();
if (res > 0) {
flag = true;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
mc.setClose(rs, ps, con);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return flag;
}
-
flag用来标记sql语句是否执行成功。
-
sql中的
?
我们称为占位符,也就是字段的值。 -
con得到一个连接,用我们刚才封装的mycon直接返回即可。
-
然后通过con.prepareStatement(sql)得到一个控制面板用来执行我们的sql操作
-
然后同过ps来设置占位符出的参数,我们通过传进来的emp类进行设置
-
最后执行操作,返回的值是收到影响的行数
-
如果res>0说明执行成功,返回true。
其他的基本类似,只要写好sql就可以了,略有不同的是查询语句。
查询语句:查询所有的员工,并以链表的方式返回。
@Override
public List queryAll() {
List list = new ArrayList();
sql = “SELECT * FROM emp”;
MyCon mc = new MyCon();
con = mc.getCon();
try {
ps = con.prepareStatement(sql);
ResultSet res = ps.executeQuery();
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
*
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
[外链图片转存中…(img-TzRbYYkH-1715822791414)]
[外链图片转存中…(img-dQ888mbc-1715822791415)]
[外链图片转存中…(img-Pccmta5u-1715822791416)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!