新闻详情

新闻详情

首页 / 资讯中心 / 详情

MySQL与JDBC

发布时间:2026/9/27 22:38:50来源:尧图网络
MySQL与JDBC
后端业务离不开数据持久化MySQL负责存储数据那么JDBC则是Java程序访问数据库的标准规范。学会MySQLJDBC才算真正把Java程序和数据库连接起来也是为后面学习MyBatis、MyBatis-Plus框架打好基础。在Java后端的学习路线中学完Java基础、IO、反射之后下一步就要接触数据库。我们在程序中产生的数据都存放在内存里可是程序一重启数据就会全部丢失。那么想要把数据永久保存下来就需要数据库来完成。MySQL存储数据JDBC使Java能够操作数据库。现在流行的MyBatis、MyBatis-Plus本质上只是对JDBC做了封装底层依旧是JDBC。想要理解ORM框架就一定要先把原生MySQLJDBC学明白。一、MySQLMySQL是一款开源的关系型数据库以表的形式存储数据。库下面有多张表表由行和列组成列代表字段行代表一条真实数据。1.基础SQL操作SQL是操作关系型数据库的语言主要就是增删改查CRUD。Create新增insertinto表名(字段1,字段2)values(值1,值2);Read查询select字段from表名where条件groupby分组orderby排序limit分页;Update修改update表名set字段值where条件;Delete删除deletefrom表名where条件;执行update、delete一定要加where条件否则会修改或者删除整张表全部数据2.表约束建表时用来保证数据合法性主键primarykey唯一标识每一条记录非空且唯一一般使用自增auto_increment非空notnull字段不能为null唯一unique字段值不能重复默认值default不给值的时候填充默认内容3.MySQL深入1索引可以提升查询速度索引就相当于书的目录。主键自带索引过多索引会降低增删改性能。2事务一组SQL语句要么全部执行成功要么全部失败回滚。具备ACID四大特性原子性、一致性、隔离性、持久性。3事务隔离级别解决脏读、不可重复读、幻读问题MySQL默认隔离级别是REPEATABLEREAD可重复读。4多表查询内连接、左连接、右连接实际业务大多不会做物理外键靠业务逻辑维护表关系。4.MySQL常见业务场景用户信息存储、订单数据、商品数据、业务各类数据持久化几乎所有后端系统都依赖MySQL存储业务数据。二、JDBC有了MySQL数据库我们可以在Navicat、命令行写SQL。但是程序运行的时候不可能人工手动执行SQL。这时候JDBC就是Java语言访问数据库的一套官方接口规范。JDBC只是接口真正干活的是数据库厂商提供的驱动mysql-connector-java。相当于一套标准MySQL厂商写实现类我们面向接口编程。1.JDBC核心API1DriverManager驱动管理类获取数据库连接Connection2Connection数据库连接对象Java程序和数据库之间的会话非常珍贵的资源3Statement/PreparedStatement执行SQL语句的对象Statement执行SQL存在SQL注入漏洞不推荐使用PreparedStatement预编译对象预编译SQL使用占位符解决SQL注入性能更好开发优先选择1ResultSet结果集封装select查询返回的数据通过游标读取每一行记录2资源关闭Connection、PreparedStatement、ResultSet都属于数据库资源必须关闭释放。JDK7可以使用try-with-resources自动关闭。2.JDBC标准执行流程1加载MySQL驱动2通过DriverManager获取Connection数据库连接url、用户名、密码3编写带?占位符的SQL语句4获取PreparedStatement预编译对象给?占位符赋值5执行SQL如果是查询调用executeQuery()返回ResultSet增删改调用executeUpdate()返回受影响行数6处理结果集ResultSet7关闭所有资源try-with-resources自动释放3.数据库连接池原生JDBC每次操作数据库都创建新连接用完就关闭。频繁创建销毁连接的开销非常大性能很差。数据库连接池就是提前创建一批连接放在池子里程序直接从池中拿连接使用完毕归还池子不进行销毁操作。常用Druid阿里企业最常用、HikariCPSpringBoot默认。实际开发中不会直接使用DriverManager获取连接全部使用连接池拿到Connection。4.JDBC易错点1忘记关闭资源数据库连接没有释放连接耗尽程序无法访问数据库。优先使用try-with-resources。2使用Statement拼接字符串产生SQL注入漏洞一定要使用PreparedStatement?占位符。3url地址写错、时区没有配置MySQL8需要指定时区serverTimezoneAsia/Shanghai。4ResultSet遍历顺序错误只能向下移动游标不能回退。三、MySQLJDBC和框架的关系JDBC写原生代码存在大量重复模板代码获取连接、赋值占位符、遍历ResultSet、关闭资源。所以MyBatis对JDBC做封装帮我们屏蔽重复代码只需要写SQL和实体映射但是底层仍然调用JDBC。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

告别模板丑站!5个实战案例揭秘html网页制作动态效果安全防线 2026/9/28 0:15:27

告别模板丑站!5个实战案例揭秘html网页制作动态效果安全防线

告别模板丑站!5个实战案例揭秘html网页制作动态效果安全防线 别再被那些千篇一律的模板网站恶心了。看着满屏的廉价感,客户嫌丑,自己看着也心累。 想做出有灵魂的站点,html网页制作动态效果是关键。但光好看没用,安全才是底线。…

阅读更多 →
网站建设是属于软件开发费吗进阶技巧 2026/9/28 0:15:08

网站建设是属于软件开发费吗进阶技巧

网站建设属于软件开发费吗 3个实操细节教你选对服务商 很多老板一上来就问:我想做个官网,这钱算软件费还是服务?其实你不用纠结财务科目,真正该关心的是: 自己不会代码想做网站,到底找谁做才不踩坑?…

阅读更多 →
揭秘网站不足之处:3步自查法,别花冤枉钱 2026/9/28 0:14:30

揭秘网站不足之处:3步自查法,别花冤枉钱

揭秘网站不足之处:3步自查法,别花冤枉钱 域名买好了,服务器租了,结果网站打不开?这种 域名服务器搞不懂 的窘境,让多少新手在起步阶段就交了智商税。很多老板拿着手机问我:“这站建好 多少钱 才合理?为什么有的报价几千,有的好几万?”…

阅读更多 →
2026最新网站访客qq统计原理深度解析 2026/9/28 0:14:23

2026最新网站访客qq统计原理深度解析

2026最新网站访客qq统计原理深度解析 网站被黑挂马导致排名暴跌,这是很多山东做外贸或本地业务的老老板们半夜惊醒时最头疼的事。别慌,2026年最新的流量监测逻辑已经彻底变了,以前那种粗糙的IP统计早就不灵了。如果你还在用传统的计数器,那你…

阅读更多 →
告别外包拖延:源码资源网新手从零搭建全流程 2026/9/28 0:13:58

告别外包拖延:源码资源网新手从零搭建全流程

告别外包拖延:源码资源网新手从零搭建全流程 改个需求建站公司拖一周,这行话大概是很多中小企业主和技术负责人最真实的吐槽。你明明只是想把首页的Banner换一下,或者给产品详情页加个视频,结果对方客服回你“排期满了”、“开发在修Bug”,一等…

阅读更多 →
网站建设平台加盟新手入门:3步避开坑,月省2万运维费 2026/9/28 0:13:52

网站建设平台加盟新手入门:3步避开坑,月省2万运维费

网站建设平台加盟新手入门:3步避开坑,月省2万运维费 自己不会代码想做网站?这大概是2024年建站圈最普遍的焦虑。 很多老板拿着预算想做个官网或商城,一查发现:招个前端开发月薪1.5w起,外包一套站5w起步还不含后期维护。这时候,“网站建设…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉