Java高级编程10-姜国海 数据库编程

javax是扩展包,对之前功能的扩展

java.sql

访问数据库
不同的数据库访问的方式不同通讯协议、编译方式不同。
不同的数据库的sql、加锁机制不同。
ODBC:微软指定的开放数据库连接标准
ODBC驱动程序:负责将标准函数转换成数据库的接口

JDBC:java连接数据库的标准
JDBC driver:第三方提供
①JDBC-ODBC bridge:java先访问ODBC,再访问数据库,好处不用安装驱动程序,jdk自带的
②OCI方式:java直接访问本地的数据库的函数,提高了访问效率
③middle server:访问一个进程,数据库服务器
④JDBC直连:用java直接访问数据库,最快的,不经过其他的过程

JDBC直连

Collection 接口:

setAutoCommit(boolean autoCommit)
Sets this connection's auto-commit mode to the given state.
自动提交

异常的时候调用rollback

Driver
connect(String url, Properties info)
Attempts to make a database connection to the given URL.

DriverManger
getConnection() 建立连接


class.forname("com.mysql.jdbc.Driver");
运行时,动态加载一个类,编译的时候不需要这个类,动态的创建对象,执行该类的静态初始化代码
会抛出class not found Exception 异常

初始化代码,
class Student{
    {
        初始化代码,可以用static修饰,在类加载的时
        候访问类的静态变量执行,优先于main函数执行
        只执行一次
    }

}


Eg:
class Driver implement java.sql.Driver{
    static {
    Driver d = new Driver();
    DriverManger.registerDriver(d);
    }

}


Beans

Object o = Beans.instantiate(ClassLoader,"com.abc.beans.Student");

ClassLoader 类加载器

java可以反编译
java 代码混淆器


jdbc协议:

这里写代码片

协议组成

协议名称+主机+主机上的文件

面向抽象的编程


class abstract EProduct{

}

class abstract EProduct{

}

class AProduct extends EProduct{

}

class BProduct extends EProduct{

}

class ProductFactory {
    public static EProduct  getEProduct(){
        Properties p = new Properties();
        p.load(new FileInputStream("app.properties"));
        return (EProduct) Beans.instantiate(getClass().getClassLoader("default"));
    }
    public static EProduct  getEProduct(String type){
        Properties p = new Properties();
        p.load(new FileInputStream("app.properties"));
        return (EProduct) Beans.instantiate(getClass().getClassLoader(type));
    }

}

class App {
    main(){
        EProduct e1 = ProductFactory.getEProduct();
        String s;
        EProduct e2 = ProductFactory.getEProduct(s);

    }
}


app.properties 中定义类

default=AProduct
other=BProduct


这样的好处就是,在App的类中都是抽象的编程,只需要修改app.properties 这个配置文件就可以对工程进行维护
已标记关键词 清除标记
<p style="text-align:left;"> <span> </span> </p> <p class="ql-long-24357476" style="font-size:11pt;color:#494949;"> <span style="font-family:"color:#E53333;font-size:14px;background-color:#FFFFFF;line-height:24px;"><span style="line-height:24px;">限时福利1:</span></span><span style="font-family:"color:#3A4151;font-size:14px;background-color:#FFFFFF;">购课进答疑群专享柳峰(刘运强)老师答疑服务。</span> </p> <p> <br /> </p> <p class="ql-long-24357476"> <strong><span style="color:#337FE5;font-size:14px;">为什么说每一个程序员都应该学习MySQL?</span></strong> </p> <p class="ql-long-24357476"> <span style="font-size:14px;">根据《2019-2020年中国开发者调查报告》显示,超83%的开发者都在使用MySQL数据库。</span> </p> <p class="ql-long-24357476"> <img src="https://img-bss.csdn.net/202003301212574051.png" alt="" /> </p> <p class="ql-long-24357476"> <span style="font-size:14px;">使用量大同时,掌握MySQL早已是运维、DBA的必备技能,甚至部分IT开发岗位也要求对数据库使用和原理有深入的了解和掌握。</span><br /> <br /> <span style="font-size:14px;">学习编程,你可能会犹豫选择 C++ 还是 Java;入门数据科学,你可能会纠结于选择 Python 还是 R;但无论如何, MySQL 都是 IT 从业人员不可或缺的技能!</span> </p> <span></span> <p> <br /> </p> <p> <span> </span> </p> <h3 class="ql-long-26664262"> <p style="font-size:12pt;"> <strong class="ql-author-26664262 ql-size-14"><span style="font-size:14px;color:#337FE5;">【课程设计】</span></strong> </p> <p style="font-size:12pt;"> <span style="color:#494949;font-weight:normal;"><br /> </span> </p> <p style="font-size:12pt;"> <span style="color:#494949;font-weight:normal;font-size:14px;">在本课程中,刘运强老师会结合自己十多年来对MySQL的心得体会,通过课程给你分享一条高效的MySQL入门捷径,让学员少走弯路,彻底搞懂MySQL。</span> </p> <p style="font-size:12pt;"> <span style="color:#494949;font-weight:normal;"><br /> </span> </p> <p style="font-size:12pt;"> <span style="font-weight:normal;font-size:14px;">本课程包含3大模块:</span><span style="font-weight:normal;font-size:14px;"> </span> </p> </h3> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> <strong class="ql-author-26664262"><span style="font-size:14px;">一、基础篇:</span></strong> </p> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> <span class="ql-author-26664262" style="font-size:14px;">主要以最新的MySQL8.0安装为例帮助学员解决安装与配置MySQL的问题,并对MySQL8.0的新特性做一定介绍,为后续的课程展开做好环境部署。</span> </p> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> <span class="ql-author-26664262" style="font-size:14px;"><br /> </span> </p> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> <strong class="ql-author-26664262"><span style="font-size:14px;">二、SQL语言篇</span></strong><span class="ql-author-26664262" style="font-size:14px;">:</span> </p> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> <span class="ql-author-26664262" style="font-size:14px;">本篇主要讲解SQL语言的四大部分数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL,</span><span style="font-size:14px;">学会熟练对库表进行增删改查等必备技能。</span> </p> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> <span style="font-size:14px;"><br /> </span> </p> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> <strong class="ql-author-26664262"><span style="font-size:14px;">三、MySQL进阶篇</span></strong><span style="font-size:14px;">:</span> </p> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> <span style="font-size:14px;">本篇可以帮助学员更加高效的管理线上的MySQL数据库;具备MySQL的日常运维能力,语句调优、备份恢复等思路。</span> </p> <span><span> <p style="font-size:11pt;color:#494949;"> <span style="font-size:14px;"> </span><img src="https://img-bss.csdn.net/202004220208351273.png" alt="" /> </p> </span></span>
相关推荐
<p> <span style="font-size:14px;">一、课程简介</span><br /><span style="font-size:14px;">这是<span style="color:#E56600;">『Java学习指南系列』</span>的第20篇教程 ,是Java开发的高级课程,介绍JavaFX的高级技术。</span><br /><span style="font-size:14px;">JavaFX教程分为两篇:JavaFX入门篇,JavaFX高级篇。</span><br /><br /><span style="font-size:14px;">本篇课程的主要以实例为主,穿插必要的理论章节。以实际工程运用为背景,演示各种应用级技术的实现方式。</span> </p> <p> <span style="font-size:14px;"><br /></span><span style="font-size:14px;">二、主要内容 </span><br /><span style="font-size:14px;">本篇配备充分的实例,包含以下内容:</span><br /><span style="font-size:14px;">* 界面线程与工作线程的基本原理</span><br /><span style="font-size:14px;">* 定时任务</span><br /><span style="font-size:14px;">* 小任务,即一次性的短任务</span><br /><span style="font-size:14px;">* 进度条定制</span><br /><span style="font-size:14px;">* 对话框定制</span><br /><span style="font-size:14px;">* 滚动窗口ScrollPane的使用</span><br /><span style="font-size:14px;">* 弹出式窗口 Popup的使用方法</span><br /><span style="font-size:14px;">* 拖放技术 Drag And Drop的使用方法</span><br /><span style="font-size:14px;">* 本地程序调用</span><br /><span style="font-size:14px;">* 与网站后台的交互方法</span><br /><br /><span style="font-size:14px;">三、课程体系</span><br /><span style="font-size:14px;"><span style="color:#E56600;">〖Java学习指南系列〗</span>:包含入门与进阶语法,Swing桌面开发,安卓开发,JavaFX开发,网络通信Socket,数据结构与算法等课程。</span><br /><span style="font-size:14px;"><span style="color:#E56600;">〖网站开发系列〗</span>:包含网页基础、网站入门、数据库、网站中级、FreeMarker、网站高级、项目应用、MyBatis、Redis等课程。</span><br /><span style="font-size:14px;"></span> </p>
<span style="font-size:14px;">一、课程简介</span><br /><p> <span style="font-size:14px;"><span style="color:#E56600;">『Java学习指南系列』</span>的第8篇教程 ,介绍MySQL数据库的安装使用,常见SQL语句,以及使用JDBC进行数据库开发的技术。</span> </p> <p> <span style="font-size:14px;"><br /></span> </p> <p> <span style="font-size:14px;">二、主要内容 </span> </p> <p> <span style="font-size:14px;">* MySQL的安装和使用</span> </p> <p> <span style="font-size:14px;">* 常用SQL语句,增删改查操作</span> </p> <p> <span style="font-size:14px;">* 高级SQL查询,多表关联查询</span> </p> <p> <span style="font-size:14px;">* 表的设计:主键,索引,内连接外连接,外键</span><span style="font-size:14px;"> </span> </p> <p> <span style="font-size:14px;">* MySQL配置管理: 用户授权,远程访问,备份还原</span> </p> <p> <span style="font-size:14px;">* JDBC连接: 使用JDBC连接数据库,执行增删改查操作</span> </p> <span style="font-size:14px;">* 基于JDBC数据库框架的设计(afsql框架),以此阐述数据库框架的设计原理</span><br /><p> <span style="font-size:14px;">* JDBC连接池,JDBC数据库开发的必备技术</span> </p> <p> <span style="font-size:14px;">* 数据库事务 Transaction 的支持 </span> </p> <p> <span style="font-size:14px;">* SQL的转义,数据库注入攻击的预防</span> </p> <p> <span style="font-size:14px;">* 数据库的动态访问:获取数据库和表的结构,根据表的结构自动生成POJO</span> </p> <p> <span style="font-size:14px;"><br /></span> </p> <p> <span style="font-size:14px;">三、课程体系</span> </p> <p> <span style="font-size:14px;color:#E56600;">〖Java学习指南</span><span style="font-size:14px;color:#E56600;">系列</span><span style="font-size:14px;"><span style="color:#E56600;">〗</span>:包含入门与进阶语法,Swing桌面开发,安卓开发,JavaFX开发,网络通信Socket,数据结构与算法等课程。</span> </p> <p> <span style="font-size:14px;color:#E56600;">〖网站开发</span><span style="font-size:14px;color:#E56600;">系列</span><span style="font-size:14px;"><span style="color:#E56600;">〗</span>:包含网页基础、网站入门、数据库、网站中级、FreeMarker、网站高级、项目应用、MyBatis、Redis等课程。</span> </p>
<p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <span style="color:#FF0000;"><strong><span style="font-size:24px;">课程提供所有代码笔记素材以及答疑</span></strong></span> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <span style="color:#FF0000;"><strong><span style="font-size:24px;"><br /> </span></strong></span> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <span style="font-size:16px;color:#000000;"><strong>1、Lucene框架的熟练应用<span>实现</span></strong></span><span style="color:#FF0000;font-size:16px;"><strong><span style="color:#424242;">类似百度、京东商城等应用的全文检索效果;</span></strong></span> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <span style="color:#FF0000;font-size:16px;"><strong><span style="color:#424242;font-size:14px;"><br /> </span></strong></span> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <br /> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <span style="font-size:16px;">1、Solr简介</span> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <span style="font-size:16px;">2、Solr下载安装以及目录结构介绍</span> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <span style="font-size:16px;">3、Solr应用部署至Tomcat服务器</span> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <span style="font-size:16px;">4、Solr后台管理界面介绍</span> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <span style="font-size:16px;">5、通过managed-schema配置Field以及中文分词器</span> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <span style="font-size:16px;">6、将数据库中的数据导入至Solr索引库</span> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <span style="font-size:16px;">7、通过Solr后台管理界面对索引进行CRUD高亮过滤排序分页</span> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <span style="font-size:16px;">8、通过Solrj实现索引的添加更新</span> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <span style="font-size:16px;">9、通过Solrj实现索引的删除</span> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <span style="font-size:16px;">10、索引的检索_过滤_高亮等操作</span> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <span style="font-size:16px;">11、项目实战应用</span> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <span style="font-size:16px;">12、Solr知识点总结</span> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <span style="font-size:16px;color:#FF0000;"><strong><span style="font-size:24px;"><br /> </span></strong><br /> </span> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <span style="font-size:16px;">1、熟练掌握Lucene框架的使用,实现类似百度、京东商城等应用的全文检索效果;</span> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <span style="color:#000000;font-size:16px;">2、ElasticSearch下载安装(window以及linux下安装)</span> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <span style="color:#000000;font-size:16px;">3、集群环境搭建</span> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <span style="color:#000000;font-size:16px;">4、客户端Kibana安装与使用</span> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <span style="color:#000000;font-size:16px;">5、集群管理插件head安装使用</span> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <span style="color:#000000;font-size:16px;">6、java api 操作 ES</span> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> <span style="color:#000000;font-size:16px;">7、电商项目实战应用等等</span> </p> <p style="color:#424242;font-size:14px;background-color:#FFFFFF;"> ..... </p>
<div style="font-size:14px;"> 课程简介 </div> <div style="font-size:14px;"> 这是一门使用Java语言,SpringBoot框架,从0开发一个RESTful API应用,接近企业级的项目(我的云音乐),课程包含了基础内容,高级内容,项目封装,项目重构等知识,99%代码为手写;因为这是项目课程;所以不会深入到源码讲解某个知识点,以及原理,但会粗略的讲解下基础原理;主要是讲解如何使用系统功能,流行的第三方框架,第三方服务,完成接近企业级项目,目的是让大家,学到真正的企业级项目开发技术。 </div> <div style="font-size:14px;"> <br /> </div> <div style="font-size:14px;"> 适用人群 </div> <div style="font-size:14px;"> 刚刚毕业的学生 </div> <div style="font-size:14px;"> 想提高职场竞争力 </div> <div style="font-size:14px;"> 想学从零开发SpringBoot项目 </div> <div style="font-size:14px;"> 想提升SpringBoot项目开发技术 </div> <div style="font-size:14px;"> 想学习SpringBoot项目架构技术 </div> <div style="font-size:14px;"> 想学习企业级项目开发技术 </div> <div style="font-size:14px;"> 就是想学习SpringBoot开发 </div> <div style="font-size:14px;"> <br /> </div> <div style="font-size:14px;"> 能学到什么 </div> <div style="font-size:14px;"> 从0开发一个类似企业级项目 </div> <div style="font-size:14px;"> 学会能做出市面上90%通用API </div> <div style="font-size:14px;"> 快速增加1到2年实际开发经验 </div> <div style="font-size:14px;"> 刚毕业学完后能找到满意的工作 </div> <p style="font-size:14px;"> 已经工作学完后最高涨薪30% </p> <p style="font-size:14px;"> <br /> </p> <p style="font-size:14px;"> <br /> </p> <div style="font-size:14px;"> 课程信息 </div> <div style="font-size:14px;"> 全课程目前是82章,155小时,每节视频都经过精心剪辑。 </div> <p style="font-size:14px;"> 在线学习分辨率最高1080P </p> <p style="font-size:14px;"> <br /> </p> <p style="font-size:14px;"> <br /> </p> <div style="font-size:14px;"> 课程知识点 </div> <div style="font-size:14px;"> 1~11章:学习方法,项目架构,编码规范,Postman使用方法,Git和Github版本控制 </div> <div style="font-size:14px;"> 12~16章:搭建开发环境,快速入门SpringBoot框架 </div> <div style="font-size:14px;"> 17~20章:快速入门MySQL数据库 </div> <div style="font-size:14px;"> 21~30章:MyBatis,登录注册,找回密码,发送短信,发送邮件,企业级接口配置 </div> <div style="font-size:14px;"> 31~41章:实现歌单,歌单标签,音乐,列表分页,视频,评论,好友功能 </div> <div style="font-size:14px;"> 42~48章:阿里云OSS,话题,MyBatis-plus,应用监控 </div> <div style="font-size:14px;"> 49~53章:Redis使用,集成Redis,SpringCache,HTTP缓存 </div> <div style="font-size:14px;"> 54~58章:Elasticsearch使用,集成Elasticsearch,使用ES搜索 </div> <div style="font-size:14px;"> 59~61章:商城,集成支付宝SDK,支付宝支付 </div> <div style="font-size:14px;"> 62~64章:常用哈希和加密算法,接口加密和签名 </div> <div style="font-size:14px;"> 65~67章:实时挤掉用户,企业级项目测试环境,企业级接口文档 </div> <div style="font-size:14px;"> 68~69章:SpringBoot全站HTTPS,自签证书,申请免费证书 </div> <div style="font-size:14px;"> 70~73章:云MySQL数据库,云Redis数据库使用,轻量级应用部署环境,域名解析 </div> <div style="font-size:14px;"> 74~80章:Docker使用,生产级Kubernetes集群,域名解析,集群全站HTTPS </div> <div style="font-size:14px;"> 81~82章:增强和重构项目,课程总结,后续学习计划 </div>
©️2020 CSDN 皮肤主题: 精致技术 设计师:CSDN官方博客 返回首页