自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 MyBatis的解析和运行原理

MyBatis的运行可分为两大部分,第一部分是读取配置文件缓存到Configuration对象,用来创建SqlSessionFactory,第二部分是SqlSession的执行过程。先导入源码,不然你不知道方法之间是怎么调用。一构建SqlSessionFactory过程第一步,通过org.apache.ibatis.builder.xml.XMLConfigBuilder来解析

2017-09-22 21:07:16 715

原创 Mybatis 映射器

新建一个JAVA项目,加入对应的架包,配置Mybatis的核心配置文件、日志文件种数据库属性文件(在之前写的博客中有)。新建实体类Student和Teacher,如果你提供有参构造方法,必须把无参构造方法写出来package com.bean;import java.util.List;/** * 老师实体类,负责与数据库中的Teacher表做映射 * @aut

2017-09-22 13:18:55 277

原创 Mybatis入门

Mybatis的基本配置与对数据库操作的三种形式

2017-09-21 15:28:19 258

原创 JAVA中实现对Excel的导入与导出

1 使用Jxl实现Excel的导入与导出1 ) 新建实体类Bookpackage com.bean;public class Book { private Integer id ; private String name ; private String author; public Integer getId() { return id; } public voi

2017-09-17 17:32:30 24709 2

原创 对XML进行解释

JAVA实现对XML的解释的两种方式(SAX与DOM)

2017-09-17 10:19:24 961

原创 使用反射实现万能DAO(基于JDBC)

1 没有利用反射来对数据库进行操作创建工具类:JDBCConnection(使用单列设计模式)package com.test.connection;import java.sql.Connection;import java.sql.DriverManager;public class JDBCConnection { private static final String

2017-09-15 10:51:18 533

原创 基于JDBC连接数据库

所有的JDBC连接数据库的操作流程都是固定的,按照如下的几步完成:1、加载数据库驱动程序(向容器加载);2、进行数据库连接(通过DriverManager类完成,Connection表示连接);3、进行数据的增、删、改、查(Statement、PrepareStatement、ResultSet);4、关闭数据库操作以及连接。示例(Orcle数据库 )package com

2017-09-14 12:28:31 224

原创 JAVA中特殊意义的接口(部分)

1 比较器1) Comparable接口,对类对象进行比较,下面我们来实现对象数组的排序:没有实现Comparable接口的Student类:package com.test;public class Student { private Integer id; private String name; public Student() { } public Stude

2017-09-12 10:24:00 241

原创 JAVA中反射

1 Class类实例化public static void main(String[] args) throws ClassNotFoundException { //方式1 通过已经实例化好对象的getClass方法取得 Date date = new Date() ; Class class1 = date.getClass(); System.out.println(c

2017-09-11 21:45:30 223

原创 JAVA中多线程实现

在Java中实现我线程,有两种方式:继承Tread类;实现Runnable接口(或接口Callable,Jdk1.5之后)。1 继承Tread类Tread类是一个支持多线程的功能类,只要有一个子类继承它,就可以实现多线程的支持。我们都知道所有程序的起点是main()方法,但是所有的线程也一定要有一个自己的起点,那就是run()方法,所以我们必须覆写Thread类中的run()方法。这个方法

2017-09-09 09:37:22 209

原创 方法引用

方法引用就是指为一个方法设置别名,相当于一个方法定义了不同的名字。Java8中定义了四种形式:1 引用静态方法: 类名称 :: static 方法名称 package com.test;/** * 实现方法引用的接口 * 只能定义一个方法 * @author 1 * * @param 引用方法的参数类型 * @param 引用方法的返回类型 */@Functional

2017-09-05 15:28:01 208

原创 java中枚举

在2005年之后增加了枚举,它的功能与多例设计模式基本上一样。在JAVA中用enum来定义一个类,相当于这个类继承了Enum类,Enum这个的构造方法是私有的,定义如下: protected Enum(String name, int ordinal) { this.name = name; this.ordinal = ordinal; }如何证

2017-09-05 10:05:25 216

原创 JDK1.8中Lamda

Lamda属于函数式编程的概念,为什么我们要使用函数式的编程,我们可以先看以下的代码。传统的匿名内部类:package com.test;interface ITest { public void print();}public class Test{ public static void main(String[] args) { fun(new ITest() {

2017-09-04 10:59:24 332

原创 JAVA中的泛型

1 泛型的引出现在要求定义一个表示 坐标的类(Point),这个类需要能保存数字:x = 10,y =20; 保存小数:x = 10.2 ,y = 20.4;保存字符串: x = 东经20度 , 北纬32度。这三组数据不同之处就是数据类型不一致,必需要使用一种数据类型能同时保存这三种数据。所以我必须使用Object这种数据类型。Point类:package com.test;p

2017-08-30 13:34:54 213

原创 java中可变参数

我们来思考如何来实现不定个数的整数相加。1 用数组来实现:public class Variable { public static void main(String[] args) { System.out.println(add(new int[]{ 1 , 2 , 3})); } public static int add(int [] data){ int sum =

2017-08-30 12:19:17 202

原创 多例设计模式

多例设计的步骤:1 构造方法用private来声明,那么表示构造方法只能被类的内部所使用,所以在类中内部提供多个本类的实例化对象,并且用private static final来声明这个对象;2 提供有一个get方法来得到这个对象,同时也要使用static属性,通过不同的条件返回不同的对象。代码如下:package com.singleton;package com.test;

2017-08-26 19:41:54 244

原创 单例设计模式

单例设计的步骤:1 构造方法用private来声明,那么表示构造方法只能被类的内部所使用,所以在类中内部提供一个本类的实例化对象,并且用private static final来声明这个对象;2 提供有一个get方法来得到这个对象,同时也要使用static属性。代码如下:package com.singleton;public class Singleton { privat

2017-08-26 18:53:23 185

原创 接口的应用——代理设计模式

代理设计模式的核心精髓就在于有一个主题操作接口,核心业务主题只完成核心功能(如:我们吃饭,我们不用去理饭是怎么做的,我只需要吃饭就行了),面代理主题负责完成所以与核心主题有关的辅助性操作(如:把饭做好)。主题接口:package com.agency;interface Subject { //整个操作的核心主题 public void make();}核心主题:/**

2017-08-26 11:05:59 204

原创 接口的应用——工厂设计模式

为什么我们要使用工厂这个设计模式,我们先看这组代码:水果接口类:public interface Fruit { public void eat();}苹果类:public class Apple implements Fruit { @Override public void eat() { System.out.println("吃苹果"); }}客户

2017-08-26 09:40:23 282

原创 JAVA中实现链表

由于数据本身不具备先后的关系,所以使用Node类来封装数据,同时利用Node来指向下一个节点。1 简单链表的实现节点类(Node):package com.test;/** * @author 1 * 定义节点类Node */public class Node { private String data ; //保存数据 private Node next ; //

2017-08-25 12:10:20 841 1

原创 JAVA内部类

内部类实现的目的只有一个:让内部类可以访问外部类中定义的一个私有的属性内容;内部类有一个最大的优点:可以方便的访问外部类的私有操作。用内部访问一个类的私有属性: public class Outer{ private String msg = "Hello World!" ; class Inner { //定义内部类 public void print() { //很容

2017-08-24 12:44:13 165

原创 JAVA中代码块

1 普通代码块为了防止在方法里面编写的代码的变量重名,对一个方法进入一个局部的分割,但是基本上没有什么意义。因为一个方法的代码不会写得很长,同时我们在对变量的命名的时候都是有意义的定义。定义如下:public static void main(String[] args) { { // 普通代码块 int num = 10 ; //局部变量 System.out.pr

2017-08-24 10:14:32 280

原创 ++,--运算符的使用

++,--运算符的使用、理解

2017-08-13 11:02:26 1043

原创 JAVA中s = s + 1 与s +=1的区别

i = i + 1 与i +=1是不等价的,i += 1是等价于 s = (s的数据类型)(s + 1),而不是等价于 s = (s的数据类型)(s + 1),当中存在隐含了一个强制类型转换的过程。比如

2017-08-13 10:04:15 6709

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除