/** * 批处理 * 批处理跟事务不同 只是把一批sql放到一起执行 2条sql是可以一条执行成功 一条执行失败 是不可逆的 */ public class Test { public static void main(String[] args) { Connection conn = null; PreparedStatement ps = null; try { conn = JDBCSimpleUtils.getConnection(); ps = conn.prepareStatem…
简单工具类: public class JDBCSimpleUtils { /** * 私有构造方法 */ private JDBCSimpleUtils() { } /** * 驱动 */ public static String driver = null; /** * 连接字符串 */ public static String url = null; /** * 用户名 */ public static String user = null; /** * 密码 */ public stat…
以下展示的为JAVA使用jdbc连接MYSQL简单示例: import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import com.mysql.jdbc.Connection; import com.mysql.jdbc.Statement; public class MysqlDBManager { // 驱动程序名 private static String DBDRI…
java基础(11) -JDBC jdbc 1.装载驱动 载入跟数据库建立连接的驱动 /* sql server: String className ="com.microsoft.sqlserver.jdbc.SQLServerDriver"; mysql: String className = "com.mysql.jdbc.Driver"; */ Class.forName(className); 2.获取连接 获取数据库服务器的一个开放连接集 /* sql…
java基础解析系列(五)---HashMap并发下的问题以及HashTable和CurrentHashMap的区别 目录 java基础解析系列(一)---String.StringBuffer.StringBuilder java基础解析系列(二)---Integer java基础解析系列(三)---HashMap java基础解析系列(四)---LinkedHashMap的原理及LRU算法的实现 这是我的博客目录,欢迎阅读 HashMap造成的死循环 resize分析 void resize…
1.JDBC介绍 JDBC的全称是Java Data Base Connectivity(Java数据库连接).是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问(例如MySQL,Oracle等),它由一组用Java语言编写的类和接口组成.JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,JDBC实现了所有这些面向标准的目标并且具有简单.严格类型定义且高性能实现的接口. JDBC给数据库的连接搭建了桥梁,然后再根据不同的数据…
Java快捷键 首先我们先来介绍下IDEA的一些快捷键 psvm=public static void main(String[] args) {} sout=System.out.println("Hello,World!"); Java基础语法 在我们学习Java的时候,就像其他任何一门语言一样,首先要了解的当然就是Java的一些基础的语法之类的知识. 注释.标识符.关键字 一.注释 注释对于一个程序员来说是非常重要的东西.一个好的注释不仅能够使我们能够在之后阅读自己的程序的时候不…
java基础学习总结——抽象类 抽象类介绍…
/** * 事务 */ public class Test { public static void main(String[] args) { Connection conn = null; PreparedStatement ps = null; try { //直接用上一篇文章内写好的工具类创建conn conn = JDBCSimpleUtils.getConnection(); String sql1 = "UPDATE users SET psw = ? WHERE uid = ?…
一.直接使用JDBC开发的问题 1.当表中的列很多时,需要写很长的SQL语句 还需要写大量 setXXX() 设置参数语句 读取数据时还需要写大量setXXXX()设置属性语句 2.非常容易出错,而且不方便修改 如:某个字段需要去掉,就需要调整后续序号 大量时间都花在"搬砖"上面 而且很容易埋下bug,后期测试和修复时间大大增加!!! 3.效率很差,质量不高 解决方法:将容易出错,大量繁琐的代码封装起来. 给程序员提供更加高级API(Application Programming In…
第十五章 泛型 一般的类和方法,只能使用具体的类型:要么是基本类型,要么是自定义类型.如果要编写可以应用于多种类型的代码,这种刻板的限制对代码的束缚就会很大. 在面对对象编程语言中,多态算是一种泛化机制. 泛型实现了参数化类型的概念,使代码可以应用于多种类型. 15.2 简单泛型 创造容器类促进了泛型的出现. 下面是只能持有单个对象的类: class Automobile {} public class Holder1 { private Automobile a; public Holder1…
API介绍 概念:API 即应用编程程序接口.Java API是JDK中提供给我们使用的类说明文档,这些类将底层的代码实现封装.无需关心这些类是如何实现,只需要学习如何使用. 使用:通过API找到需要使用的类,学习使用构造方法和成员方法.(创建对象,调用即可) 一.Scanner类 功能:解析基本类型和字符串的简单文本扫描器. 构造方法:无参构造 Scanner,生成的值是从指定输入流扫描的. 成员方法: nextInt 方法会将输入信息记录为int类型. import java.util.Sc…
目录 1. 常用类 2. JDBC编程步骤 3. 事务处理 4. 数据库连接池 5. JDBC列子代码 6. 使用Apache的JDBC工具类 虽然在平时的开发过程中我们不会直接使JDBC的API来操作数据库,但是JDBC是大多数ORM框架的基础.只有掌握了JDBC的使用才能更好的掌握ORM框架.本篇博客就对JDBC做下介绍,以及使用JDBC操作数据库的一般流程. JDBC(Java数据库连接)是Sun公司提供的一组操作数据库的接口.各个数据库厂商提供具体的数据库驱动实现类.开发者就可以通过统一…
控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题,也是轻量级的Spring框架的核心. 控制反转一般分为两种类型,依赖注入(Dependency Injection,简称DI)和依赖查找.依赖注入应用比较广泛,我们这里只介绍依赖注入. 一.IOC简介 控制反转IOC,它最主要反映的是与传统面向对象(OO)编程的不同.通常我们编程实现某种功能都需要几个对象相互作用,从编程的角度出发,也就是一个主对象要保存其他类型对象的引…
一.下载相应数据库驱动jar包,添加到项目中 二.注册驱动,数据库驱动只加入到classpath中是还不行的,还要在使用的时候注册一下,就像安装驱动软件,只拷贝到硬盘还不行,需要安装一下 DriverManager.registerDriver(new com.mysql.jdbc.Driver()); //其他注册方式,System.setProperty("jdbc.drivers","com.mysql.jdbc.Driver");如果同时注册多个用冒号(:)…
Spring 对 JPA 的支持已经非常强大,开发者只需关心核心业务逻辑的实现代码,无需过多关注 EntityManager 的创建.事务处理等 JPA 相关的处理.Spring Data JPA更是能够根据方法名字自动实现持久层. 目标 这次我们的目标还是实现前面几节的功能,即对Category的数据层操作.完整和的代码结构: 首先添加实体类Category.java Entity @Table(name = "Category") public class Category imp…
本文知识点(目录): 1.什么是jdbc     2.jdbc接口的核心API     3.使用JDBC技术连接MySQL数据库的方法    4.使用Statement执行sql语句(DDL.DML.DQL)    5.使用PreparedStatement执行sql语句    6.使用callablestaement执行sql语句,调用存储过程 7.附录(jdbc连接数据库 实操) 1.什么是jdbc 简单的讲就是:使用java代码(程序)发送sql语句的技术,称为jdbc技术. 2.jdbc…
1. JDBC的简介 概述: 就是Java用来操作不同数据库(DBMS)的类库(技术), 本质就是一些类和接口. /* 类: DriverManager 接口: Driver, Connection, Statement, PreparedStatement, ResultSet */ //Java Data Base Connectivity, Java数据库连接(技术). /* 集合: 就是Java用来存储不同类型数据的容器, 本质就是一些类和接口. 接口: Collection, Set,…
一.maven项目里pom添加jsoup依赖 <dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.10.2</version> </dependency> 以抓取CSDN主页的右侧导航栏为例 代码示例: package com.oukele.csdn_demo; import org.jsoup.…
一.gRPC 简介 gRPC 是Go实现的:一个高性能,开源,将移动和HTTP/2放在首位通用的RPC框架.使用gRPC可以在客户端调用不同机器上的服务端的方法,而客户端和服务端的开发语言和 运行环境可以有很多种,基本涵盖了主流语言和平台.双方交互的协议可以在proto文件中定义,客户端和服务端可以很方便的通过工具生成协议和代理代码.而消息的编码是采 用google protocol buffer,数据量小.速度快. gRPC具有以下特点: (1)基于 HTTP/2, 继而提供了连接多路复用.B…
1.前言 对于Java中的对象,我们只能使用基本运算符==.!=来判断一下地址是否相等,不能使用>.<来比较大小.但是在实际的开发中,我们需要对对象进行排序,也就是比较大小,那么应该如何实现呢?这就涉及到了Java中的两个常用的接口Comparable<T>和Comparator<T>的实现了.下面通过示例学习这两个接口的使用. 2.Comparable接口 Comparable是一个基于排序接口,它是自然排序.该接口中只有一个compareTo(Obj o)方法,用于…
类是java的核心和本质,是java语言的基础. 一.java中的类 1.类class 一个类可以包含局部变量.实例变量.类变量(静态变量) 一个类至少有一个构造方法,如果没有,系统会默认给出一个无参构造方法 一个类可以通过关键字new来创建一个新的对象 2.接口interface 接口无法被实例化,但是可以被实现.一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类. 接口中每一个方法也是隐式抽象的,接口中的方法会被隐式的指定为 public abstract(只能是 pu…
序,异常都是标准类Throwable的一些子类的对象. Throwable类的几个方法 1 getMessage() 返回描述该异常的信息 2 printStackTrace() 把消息和栈的跟踪记录记录输出到控制台 3 printStackTrace(PrintStream s) 把消息和栈的跟踪记录记录输出到流中 4 fillInStackTrace() 将栈的跟踪记录更新为调用此方法时的状态,这个方法的主要作用是读者希望再次抛出一个异常(以便于它被调用的方法捕获),并且记录这个再次抛出异常…
本文将从线程的使用方式.源码.synchronized关键字的使用方式和陷阱以及一些例子展开java线程和synchronized关键字的内容. 一.线程的概念 线程就是程序中单独顺序的流控制.线程本 身不能运行,它只能用于程序中. 二.线程的实现 线程的实现有两种方式: 1.继承Thread类并重写run方法 2.通过定义实现Runnable接口的类进而实现run方法 当用第一种方式时我们需要重写run方法因为Thread类里的run方法什么也不做(见下边的源码),当用第二种方式时我们需要实现…
面向对象 理解什么是面向过程.面向对象 面向过程与面向对象都是我们编程中,编写程序的一种思维方式.面向过程的程序设计方式,是遇到一件事时,思考“我该怎么做”,然后一步步实现的过程.例如:公司打扫卫生(擦玻璃.扫地.拖地.倒垃圾等),按照面向过程的程序设计方式会思考“打扫卫生我该怎么做,然后一件件的完成”,最后把公司卫生打扫干净了.面向对象的程序设计方式,是遇到一件事时,思考“我该让谁来做”,然后那个“谁”就是对象,他要怎么做这件事是他自己的事,反正最后一群对象合力能把事就好就行了.例如,公司打扫…
关于反射: 1.需要了解jvm类的加载机制(java高级部分会详细介绍) 2.反射的API其实只要多看看API和源码,很容易就懂了. 下面是代码,简单讲解反射的使用: import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.Method; /** * JAVA反射机制(首先对于反射,建议大家去看一下javaapi,要懂得看源码,这样才能更深入了解反射的原理,并且能…
DbUtils是Apache组织提供的一个对JDBC进行简单封装的开源工具类库,使用它能够简化JDBC应用程序的开发,同时也不会影响程序的性能. 使用步骤: A: 获取可以执行SQL语句的对象. public QueryRunner(); public QueryRunner(DataSource ds); //如果需要用到连接池对象了, 会自动从数据库连接池中获取. B: 执行SQL语句, 获取结果集. *** query(String sql,ResultSetHandler rsh, Ob…
基本使用代码: /** * Druid连接池及简单工具类的使用 */ public class Test{ public static void main(String[] args) { Connection conn = null; Statement stat = null; ResultSet rs = null; try { //使用简单工具类从Druid数据库连接池内取出Connection对象 conn = DruidSimpleUtils.getConnection(); sta…
使用C3P0的前提是需要引入jar包 具体使用如下: /** * c3p0的应用 * 前提:引入c3p0的jar包 */ public class Test { public static void main(String[] args) { Connection conn = null; Statement stat = null; ResultSet rs = null; try { //C3P0会自动读取src下的c3p0-config.xml文件 获取配置信息(driver,url,us…
JDBC的基础应用CURD: 增删改 public void noQuery() { Connection conn = null; Statement stat = null; try { //注册驱动 Class.forName("com.mysql.jdbc.Driver"); //获取连接对象 conn = DriverManager.getConnection("jdbc:mysql:///tempDb", "root", "…