- 博客(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
原创 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
原创 使用反射实现万能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
原创 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关注的人