在项目下常见一个文件夹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获取)

最近我根据上述的技术体系图搜集了几十套腾讯、头条、阿里、美团等公司21年的面试题,把技术点整理成了视频(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
、讲解视频,并且会持续更新!**
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
[外链图片转存中…(img-FXRBEOKR-1713205372909)]
最近我根据上述的技术体系图搜集了几十套腾讯、头条、阿里、美团等公司21年的面试题,把技术点整理成了视频(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分
[外链图片转存中…(img-NJHQumLU-1713205372909)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
本文介绍了在Java项目中如何通过JDBC进行数据库连接,包括设置连接参数、加载MySQL驱动、执行SQL操作以及设计数据访问对象(DAO)。同时提到了如何在项目结构中组织代码,并分享了相关技术的学习资源,如面试题和开发资料。
602

被折叠的 条评论
为什么被折叠?



