个人
Bean豆子
这个作者很懒,什么都没留下…
展开
-
MyBatis基于注解实现复杂的多条件动态SQL语句查询
@Componentpublic interface UserMapper extends Mapper<User>, MySqlMapper<User> { @SelectProvider(type = DynamicDataDaoProvider.class, method = "selectUserByid") List<User> s...原创 2019-12-20 16:28:58 · 2055 阅读 · 0 评论 -
JVM笔记
JVM笔记JVM内存区域划分----6大区域线程私有内存 :①程序计数器 ②虚拟机栈 ③本地方法栈线程私有指的是这三块区域生命周期与线生命周期相同,随着线程的创建而创建,随着线程的销毁而回收,不同线程间则三块内存彼此隔离。1. 程序计数器当前线程正在执行的字节码行号指示器,唯一一个不会产生OOM(OutOfMeoryError)异常的区域若执行执行的时native方法,计数器为0...原创 2019-06-30 20:52:11 · 114 阅读 · 0 评论 -
Spring学习笔记
====================================================================0612:spring的依赖注入<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" ...原创 2019-06-26 21:35:43 · 92 阅读 · 0 评论 -
记录mysql 表用user作为表名的问题
14:06:36 SELECT user.username, book.bookname, borrow.bookdate where user.userid in (select userid from borrow where userid = 1) Error Code: 1109. Unknown table 'user' in field list 0.000 sec今天碰见这个很...原创 2019-07-01 21:18:59 · 2918 阅读 · 0 评论 -
记录一个问题
很早之前遇到下面这个问题The server time zone value ‘???煤卤锚脳??卤??’ is unrecognized or represents解决方法:jdbc的url这样写:jdbc:mysql://localhost:3306/vincenttest?serverTimezone=GMT"...原创 2019-06-10 17:08:28 · 132 阅读 · 0 评论 -
Maven的本地仓库和镜像源配置
maven的本地仓库配置maven的默认仓库的配置是 Default: ${user.home}/.m2/repository这个目录就在系统目录下面,所以我们要自己配置方便的路径打开maven的安装目录进入conf文件夹,打开settings.xml文件在settings标签里面添加<localRepository>D:\response-for-maven</lo...原创 2019-06-10 09:41:00 · 2457 阅读 · 0 评论 -
myBatis基于xml的增删改查
配置myBatis的主配置文件<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">...原创 2019-06-14 23:52:10 · 147 阅读 · 0 评论 -
领扣43 字符串相乘
原题给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。解题思路将我们现实中使用的乘法运算步骤进行分解之后求结果乘法运算可以看成是num1和num2从后往前依次相乘在进行一次相乘后会得到一个字符串结果,将结果求和注意在进行结果求和时第n个结果的字符串和第n-1个字符串时,会向左移动n位;代码publi...原创 2019-06-03 18:39:13 · 111 阅读 · 0 评论 -
记录一下MyBatis配置的坑
这是我项目的目录结构,在运行项目的时候一直报错说找不到mybatis的配置文件解决方法: <mapper resource="dao/IUserDao.xml"/> <select id="findAll" resultType="domain.User"> select * from vincenttest.user ...原创 2019-06-13 20:02:19 · 146 阅读 · 0 评论 -
统计java源代码行数
package Testsomthing;import java.io.*;/** * Auther:vincent-Dou * Date: 2019/5/8 * Time: 21:24 * Description:用来统计java源代码的详细信息 */public class CalcJavaCode { public static int fileNum = 0...原创 2019-05-15 17:13:49 · 1106 阅读 · 0 评论 -
java对象序列化反序列化
对象序列化:概念:对象序列化指的是:将内存中保存的对象变为二进制数据流的形式进行传输,或者是将其保存在文本中。但是并不意味着所有类的对象都可以被序列化,严格来讲,需要被序列化的类对象往往需要传输使用,同时这个类必须实现java.io.Serializable接口。但是这个接口并没有任何的方法定义,只是一个标识而已。1.序列化 public static void getSer(Ob...原创 2019-05-20 21:44:29 · 194 阅读 · 0 评论 -
第一个ssm项目的总结
#搭建环境的总结,在两周之内做了两门课设,我都选择的ssm框架,下面总结一下这两周以来的收获一、 在持久层的myBatis我是用的是基于注解的开发,感觉简单方便,在整合spring框架时也很方便,以下是配置文件的配置方式<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframewo...原创 2019-07-18 23:00:15 · 980 阅读 · 0 评论 -
对于软件项目开发与管理的一点看法
#软件开发在经历过一次团队开发的经历后,突然觉得对团队开发有了一点感悟吧在团队开发中要挑选最合适的人首先是管理人员,项目经理吧,这个我觉得真的很重要,我觉得一个管理人员应该具备以下几点在整个团队中这个人要有威信,说服力强这个人情商还要高,能高明的调节团队中的矛盾这个人的技术要好,具有远瞻性 在项目前期预知一些项目未来可能存在的问题执行力强,能带动团队高效率的完成项目这个人要熟悉...原创 2019-07-18 23:37:28 · 252 阅读 · 0 评论 -
Java对象拷贝
1. 实现Cloneable接口,重写clone()方法解释:A class implements the Cloneable interface toindicate to the {@link java.lang.Object#clone()} method that itis legal for that method to make afield-for-field copy...原创 2019-09-10 12:14:35 · 128 阅读 · 0 评论 -
TopK问题用优先队列来解决
问题:求一堆数据中最大的前k个分析:如果是平常的做法的话 就将数据先排序 取其中一部分,但是这样做的话时间复杂度是很高的解决:使用大根堆(前K小)、小根堆(前K大)来实现分析:以大根堆来说,将要插入的元素与堆顶的元素比较如果比堆顶元素小的话,加删除堆顶元素在插入该元素,这样最终就会得到前K小,反之相反用优先队列来做,封装好了堆方便使用import java.util.*;/** *...原创 2019-09-10 00:45:05 · 378 阅读 · 0 评论 -
二叉树遍历方式总结
本文会用递归和迭代两种方式实现前序遍历, 中序遍历, 后序遍历, 以及层序遍历刷题指南---->前序遍历中序遍历后序遍历层序遍历首先来定义我们的节点public class TreeNode{ int val; TreeNode left; TreeNode right; public TreeNode(int x){ t...原创 2019-08-19 11:16:50 · 126 阅读 · 0 评论 -
Mybatis的逆向工程使用简介
myBatis逆向工程生成实体类接口和sql映射文件说明 需要的依赖(本文使用的是mysql 5 的版本,在8以上的版本种会出现错误)说明2:你可以直接将一下配置文件粘贴只需修改以下几点便可以来进行逆向工程- 修改generatorConfig.xml.xml文件中的 table schema=“mytravel” tableName="%" 需要将schema修改为你需要逆向的数据库名...原创 2019-08-18 17:19:36 · 182 阅读 · 0 评论 -
对项目中先写接口再写实现类方式的思考
问题:在浏览之前别人做的项目时会发现别人的业务层和持久层基本都是先写接口在写实现类,恨不能理解的时直接写实现类的好了呀,为什么还要多此一举的写接口在写实现类?动态代理引发的思考//**接口**public interface IUserManager { public boolean addUserInfo(UserInfo userInfo) throws Exception;...原创 2019-08-04 12:31:25 · 2106 阅读 · 0 评论 -
EmptyResultDataAccessException:Spring的JdbcTemplate
问题描述:在使用JdbcTemplate进行数据查询时,如果数据库中的数据不存在那么就会出现以下异常信息Exception in thread "main" org.springframework.dao.EmptyResultDataAccessException: Incorrect result size: expected 1, actual 0 at org.springfram...原创 2019-08-03 16:10:12 · 498 阅读 · 0 评论 -
实现ORM模型一键生成实体类
项目地址:gitHub地址#使用方法:配置resources/generactor.properties文件在com.dgy.Main中运行main方法#主要的方法取得mysql数据库的表的字段信息 /** * 查询一个表的所有列信息 * @param tablename * @return */ public static ...原创 2019-07-25 22:07:04 · 874 阅读 · 0 评论 -
简单实现TreeMap
实现TreeMap的结点说明:1. 结点包含 键 值 左孩子结点 右孩子结点2. 后面重写的equals() 和 hashCode() 方法是为了方便后期的测试 /** * 定义结点 * @param <K> 键 * @param <V> 值 */ class TreeNode<K, V> implem...原创 2019-07-30 16:42:50 · 226 阅读 · 0 评论 -
第一个ssm项目的总结
#搭建环境的总结,在两周之内做了两门课设,我都选择的ssm框架,下面总结一下这两周以来的收获一、 在持久层的myBatis我是用的是基于注解的开发,感觉简单方便,在整合spring框架时也很方便,以下是配置文件的配置方式<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframewo...原创 2019-07-19 13:04:42 · 956 阅读 · 0 评论 -
输入输出流
输出流字节输出流OutputStream 将内容输出到文件中 2. 用下面提供的方法可以不覆盖之前的文件内容,而是追加文件内容 3. 流操作使用后要关闭(放在finally代码块中) File file = new File("C:\\Users\\XXX\\Desktop\\tstIO.txt"); OutputStream outputStream = new...原创 2019-05-20 19:46:27 · 79 阅读 · 0 评论 -
java的File类
File类:一个File对象可以是一个文件也可以是一个文件夹创建/删除一个新的文件File文件:注意:1. 文件的路径必须是一个存在的路径,否则会抛出异常; 2. 如果文件已经存在那么创建也是不会成功的。方法执行后为false; File file = new File("C:\\Users\\XXX\\Desktop\\testioio.txt"); ...原创 2019-05-20 17:31:47 · 133 阅读 · 0 评论 -
插入 选择 希尔排序的实现(Java)
直接插入排序:插入排序的基本原理与步骤:默认第0个元素为一个有序的序列1,从第1个元素开始为未排序的序列2从未序列2中取出第一个元素,从序列1的最后一个元素开始从后往前比较找到合适的位置插入在第二步中会出现以下情况(以升序为例):1. 序列2中的第一个元素小于序列1的最后一个元素,那么将序列1的最后一个元素后移一位。2. 序列2中的第一个元素大序列1中的一个元素,...原创 2019-01-19 18:18:13 · 82 阅读 · 0 评论 -
二叉搜索树2
接上篇//二叉查找树中max()、 min()、floor()、ceiling()方法的实现 private Node min(Node x) { if(x.left == null) { return x; } return min(x.left); } public Key min() { return min(root).key; } p...原创 2019-01-24 12:33:01 · 166 阅读 · 2 评论 -
基于线性表的查找方法
顺序查找实现原理:从头到尾遍历这个序列,将自己需要查找的值与这个序列上的值一一对比特点:简单好理解,易于实现Java实现://顺序查找 public static boolean seqsearch(int[] arr, int key) { for(int i = 0; i < arr.length; i++) { if(arr[i] == key) { r...原创 2019-01-23 20:11:47 · 1170 阅读 · 0 评论 -
二叉排序树1
二叉排序树的建立二叉排序树的定义与描述:若它的左子树非空,则左子树上所有的结点的值均小于根节点的值;若它的右子树非空,则右子树上所有结点的值均大于或等于根节点的值;它的左右子树也分别为二叉排序树。这是一个递归定义。数据的表示嵌套定义一个私有类来表示二叉查找树上的一个结点。每个结点都含有一个键、一个值、一条左链接、一条右链接、和一个结点计数器二叉排序树的构造:private N...原创 2019-01-23 20:10:29 · 273 阅读 · 0 评论 -
服务端与客户端之间的mysql表传输以及服务端发送的优化
服务端表的传输:解决的问题:基于TCP协议,在服务端中连接数据库后将查询到的表返回给客户端。因为在传输过程中是字节流的传输,无法将表的查询结果完整的传输给客户端在数据传输的过程中 服务端快速的传输数据时,在客户端解析的过程中会将服务端传送来的多个流 解析到一起。问题出现的现象:1.在传输数据库表的查询结果时,在客户端只会解析到第一个元组的信息或者解析不到任何信息分析:在服务端查询数据...原创 2018-12-23 20:24:27 · 358 阅读 · 0 评论 -
study_day04
python的面向对象程序设计生成器:(generator)生成器函数用yield生成数据项;生成器函数在调用__next__()方法时才会执行,遇到yield语句返回,再次执行时不是从头开始,而是从上次返回的yield语句处继续执行#生成器:def generator_test(): for i in range(1,20,1): print("第%s次...原创 2018-10-23 20:53:08 · 75 阅读 · 0 评论 -
python如何连接sql sever2008数据库
在连接之前需要的准备工作:1:需要导入两个python的包 pymssql和pyodbc方法:我用的是pycharm IDE 在其中导入settings>project interpreter>右边加号2:创建数据库角色并给予相应的权限代码:import pymssqlserver="192.168.1.105"user="user_dou"password="22...原创 2018-10-20 22:44:41 · 1524 阅读 · 0 评论 -
study_day03
#python-函数函数的创建与调用:def exchange(a,b): #定义函数exchange a,b=b,a #执行语句 return a,b #返回值print(exchange(20,50))#调用函数>>>E:\Pycharmworkplace\untitled\venv\Scripts\python.exe "...原创 2018-10-19 00:08:31 · 116 阅读 · 0 评论 -
2-3查找树和红黑二叉查找树
2-3查找树定义:一颗2-3查找树或一颗空树,或由一下节点组成:2-结点,含有一个键(及其对应的值)和两个链接,左链接指向的2-3树中的键都小于该结点,右链接指向的2-3树中的键都大于该结点3-结点,含有两个键(及其对应的值)和三条链接,左链接指向的2-3树中的键都小于该结点,中链接指向的2-3树中的键都位于该结点的两个键之间,右链接指向2-3树中的键都大于该结点红黑二叉查找树定义:...原创 2019-01-25 20:30:47 · 247 阅读 · 0 评论 -
堆排序(java)
堆排序基本概念介绍:堆可以看作一颗完全二叉树;大根堆:左右的父节点都大于它的子节点;(arr[parent] >= arr[parent2+1] && arr[parent] >= arr[2parent])小根堆:所有的父节点都小于它的子节点;(arr[parent] <= arr[parent2+1] && arr[parent] &...原创 2019-01-21 13:59:35 · 779 阅读 · 0 评论 -
放下鼠标 全键盘定义你的浏览器
在linux上用过vim的朋友相信都被这个编辑器惊艳到了吧, 但是它只是在linux系统中存在而且是在字符操作界面。但是如果将这种可以全键盘的操作搬到windows上这样的图形界面又是怎样令人去感到惊艳呢?本文介绍的插件是基于谷歌和火狐的,它可以使你在很大的程度上抛弃鼠标在浏览器中操作。(注意)在谷歌浏览器下载插件时需要翻墙,firefox可以正常下载主要实现这用操作的插件有两...原创 2019-04-29 11:29:23 · 572 阅读 · 0 评论 -
用逆波兰表达式(后缀表达式)实现简单计算器
最近在学习数据结构,用栈来实现一个逆波兰表达式求值基本步骤1. 将普通的数学表达式 ===> 逆波兰表达式(后缀表达式)2. 根据逆波兰表达式求出结果以下是代码package calc;import java.util.Stack;/** * Auther:vincent-Dou * Date: 2019/4/21 * Time: 23:06 * Des...原创 2019-04-22 21:30:18 · 380 阅读 · 0 评论 -
java不用加载驱动也能连接数据库????
在看以前写的代码时,发现一个很可笑的错误 private static final String URL = "jdbc:mysql://localhost:3306/vincenttest?" + "serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=false";/...原创 2019-04-21 21:57:17 · 1847 阅读 · 1 评论 -
java包装类
java包装类包装类就是将基本数据类型封装起来。class IntTest{ private int val; public IntTest(int val){ this.val = val; } public int Intvalue(){ return this.val; }}数值型包装类(Number类的子类):Byte、 Dou...原创 2019-04-21 21:44:17 · 116 阅读 · 0 评论 -
简单工厂模式及例子
简单工厂模式简介: 简单工厂模式就是使用一个工厂类接收传来的参数去决定创建哪一个对象,在这之前要有一个抽象接口,将产品抽象去实现这个接口。缺点:一旦将工厂类写完。就难以更改工厂生产的产品,不好拓展举例::超市的结账系统。设计一个货物接口,让每一种货物去实现这个接口。然后设计工厂类,根据用户的选择,去创建一个货物(向上转型)对象package bitdemo1;public cl...原创 2019-04-15 17:11:47 · 785 阅读 · 0 评论 -
java异常类
异常类的结构Throwable 类下有两个子类为Error和Exception;Exception的子类为IOException和RuntimeException异常分类非受查异常:所有Error以及RuntimeException直接子类,不强制进行异常处理受查异常: 所有其他异常,必须强制用户进行异常处理各异常简介:Error类描述java运行时内部错误或资源耗尽错误...原创 2019-03-18 18:18:11 · 85 阅读 · 0 评论