新建工程,继承PluginAdapter
org.mybatis.generator
mybatis-generator-core
1.3.5
provided
public class PaginationPlugin extends PluginAdapter {
public boolean validate (List list) {
return true;
}
/**
* 为每个 Example 类添加 limit 和 offset 属性已经 set 、 get 方法
*/
@Override
public boolean modelExampleClassGenerated (TopLevelClass topLevelClass,
IntrospectedTable introspectedTable) {
PrimitiveTypeWrapper integerWrapper = FullyQualifiedJavaType.getIntInstance ()
.getPrimitiveTypeWrapper();
Field limit = new Field();
limit.setName("limit" );
limit.setVisibility(JavaVisibility.PRIVATE );
limit.setType(integerWrapper);
topLevelClass.addField(limit);
Method setLimit = new Method();
setLimit.setVisibility(JavaVisibility.PUBLIC );
setLimit.setName("setLimit" );
setLimit.addParameter(new Parameter(integerWrapper, "limit" ));
setLimit.addBodyLine("this.limit = limit;" );
topLevelClass.addMethod(setLimit);
Method getLimit = new Method();
getLimit.setVisibility(JavaVisibility.PUBLIC );
getLimit.setReturnType(integerWrapper);
getLimit.setName("getLimit" );
getLimit.addBodyLine("return limit;" );
topLevelClass.addMethod(getLimit);
Field offset = new Field();
offset.setName("offset" );
offset.setVisibility(JavaVisibility.PRIVATE );
offset.setType(integerWrapper);
topLevelClass.addField(offset);
Method setOffset = new Method();
setOffset.setVisibility(JavaVisibility.PUBLIC );
setOffset.setName("setOffset" );
setOffset.addParameter(new Parameter(integerWrapper, "offset" ));
setOffset.addBodyLine("this.offset = offset;" );
topLevelClass.addMethod(setOffset);
Method getOffset = new Method();
getOffset.setVisibility(JavaVisibility.PUBLIC );
getOffset.setReturnType(integerWrapper);
getOffset.setName("getOffset" );
getOffset.addBodyLine("return offset;" );
topLevelClass.addMethod(getOffset);
return true;
}
/**
* 为 Mapper.xml 的 selectByExample 添加 limit
*/
@Override
public boolean sqlMapSelectByExampleWithoutBLOBsElementGenerated (XmlElement element,
IntrospectedTable introspectedTable) {
addPageElement(element);
return true;
}
/**
* 为 Mapper.xml 的 selectByExampleWithBLOBs 添加 limit
*/
@Override
public boolean sqlMapSelectByExampleWithBLOBsElementGenerated (XmlElement element,
IntrospectedTable introspectedTable) {
addPageElement(element);
return true;
}
private void addPageElement (XmlElement element) {
XmlElement ifLimitNotNullElement = new XmlElement("if" );
ifLimitNotNullElement.addAttribute(new Attribute("test" , "limit != null" ));
XmlElement ifOffsetNotNullElement = new XmlElement("if" );
ifOffsetNotNullElement.addAttribute(new Attribute("test" , "offset != null" ));
ifOffsetNotNullElement.addElement(new TextElement("limit ${offset}, ${limit}" ));
ifLimitNotNullElement.addElement(ifOffsetNotNullElement);
XmlElement ifOffsetNullElement = new XmlElement("if" );
ifOffsetNullElement.addAttribute(new Attribute("test" , "offset == null" ));
ifOffsetNullElement.addElement(new TextElement("limit ${limit}" ));
ifLimitNotNullElement.addElement(ifOffsetNullElement);
element.addElement(ifLimitNotNullElement);
}
}
在要用的模块引入插件
${project.artifactId}
org.mybatis.generator
mybatis-generator-maven-plugin
1.3.5
true
mysql
mysql-connector-java
5.1.34
****
near-mybatis-generator-extends
1.0.0
generatorConfig.xml
xml version ="1.0" encoding ="UTF-8" ?>
generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd" >
id ="mysql_systemcore" targetRuntime ="MyBatis3" >
type ="org.***.plugins.PaginationPlugin" />
name ="suppressAllComments" value ="true" />
driverClass ="com.mysql.jdbc.Driver"
connectionURL ="jdbc:mysql://192.168.1.45:3306/***"
userId ="***"
password ="***" />
targetPackage ="com.***.dal.dataobj"
targetProject ="src/main/java" >
name ="trimStrings" value ="true" />
targetPackage ="sqlmap"
targetProject ="src/main/resources/META-INF" />
targetPackage ="com.***.dal.mapper"
targetProject ="src/main/java" type ="XMLMAPPER" />
tableName ="user_info"
domainObjectName ="UserInfoDO" />
你可能感兴趣的:(MyBatis,Generator,mybatis)
Android GreenDao介绍和Generator生成表对象代码
目录(?)[-]介绍创建工程转载请注明:http://blog.csdn.net/sinat_30276961/article/details/50052109最近无意中发现了GreenDao,然后查看了一些资料后,发现这个数据库框架很适合用,于是乎,查看了官网的api,并自己写了一个小应用总结一下它的使用方法。介绍按照国际惯例,在开篇,总要先介绍一下什么是GreenDao吧。首先需要说明的是Gr
2025最新Mybatis-plus教程(二)
三、CRUD(一)BaseMapper接口方法介绍BaseMapper中提供了crud方法,具体方法如下://插入一条记录intinsert(Tentity);//根据entity条件,删除记录intdelete(@Param(Constants.WRAPPER)Wrapperwrapper);//删除(根据ID批量删除)intdeleteBatchIds(@Param(Constants.COL
2025最新Mybatis-plus教程(四)
五、MyBatis-Plus的service封装(一)通用Service简介MyBatis-Plus除了通用的Mapper还有通用的Service层,这也减少了相对应的代码工作量,把通用的接口提取到公共。其实按照mp的这种思想,可以自己也实现一些通用的Controller。(二)通用Service方法介绍/***插入一条记录(选择字段,策略插入)**@paramentity实体对象*/defaul
2025最新Mybatis-plus教程(三)
四、MyBatis-Plus条件构造器(一)条件构造器介绍在MyBatis-Plus中提了构造条件的类Wrapper,它可以根据自己的意图定义我们需要的条件。Wrapper是一个抽象类,一般情况下我们用它的子类QueryWrapper来实现自定义条件查询。(二)selectOne方法@TestpublicvoidtestSelectOne(){ QueryWrapperqueryWrapper=n
Java 代理机制详解:从静态代理到动态代理,彻底掌握代理模式的原理与实战
大葱白菜
java合集 java 开发语言 后端 个人开发 学习 代理模式
作为一名Java开发工程师,你一定在使用Spring、MyBatis、RPC框架等技术时接触过“代理”(Proxy)这个概念。无论是Spring的AOP(面向切面编程)、事务管理,还是远程调用、日志记录、权限控制等场景,代理机制都扮演着至关重要的角色。本文将带你全面掌握:什么是代理?静态代理与动态代理的区别JDK动态代理与CGLIB动态代理的实现原理代理模式的典型应用场景代理在主流框架中的使用(如
Java朴实无华按天计划从入门到实战(强化速战版-66天)
岫珩
Java 后端 java 开发语言 学习 Java 时间安排 学习计划
致敬读者感谢阅读笑口常开生日快乐⬛早点睡觉博主相关博主信息博客首页专栏推荐活动信息文章目录Java朴实无华按天计划从入门到实战(强化速战版-66天)1.基础(18)1.1JavaSE核心(5天)1.2数据库与SQL(5天)1.3前端基础(8天)2.进阶(17天)2.1JavaWeb核心(5天)2.2Mybatis与Spring全家桶(6天)2.3中间件入门(4天)2.4实践项目(2天)3.高阶(1
Mybatisplus的雪花算法及代码生成器的使用
你我约定有三
算法 dreamweaver
1.雪花算法1.1背景:雪花算法(Snowflake)的使用背景主要源于高并发分布式系统环境下对唯一ID生成的需求。这种需求在像Twitter这样的社交媒体平台上尤为突出,因为Twitter需要处理每秒上万条消息的请求,并且每条消息都必须分配一个唯一的ID。这些ID不仅需要全局唯一,以跨机器、跨时间区分,还需要保持一定的顺序性(尽管不要求连续),以方便客户端排序和后续的数据处理。1.2与自动递增的
在一个存在的包里面编写msg消息文件
CrimsonEmber
ROS笔记 ROS2
前言尽管最佳实践是在专门的接口包中声明接口,但有时在同一个包中完成接口的声明、创建和使用会更为便捷。创建文件创建好msg/AddressBook.msg文件,在你的包的目录下package.xmlrosidl_default_generatorsrosidl_default_runtimerosidl_interface_packagesCMakeList找到生成消息代码的包find_packag
并发编程与MyBatis精髓
AIHacksCash
Java场景面试宝典 Concurrency Java Database Framework
我是廖志伟,一名Java开发工程师、《Java项目实战——深入理解大型互联网企业通用技术》(基础篇)、(进阶篇)、(架构篇)清华大学出版社签约作家、Java领域优质创作者、CSDN博客专家、阿里云专家博主、51CTO专家博主、产品软文专业写手、技术文章评审老师、技术类问卷调查设计师、幕后大佬社区创始人、开源项目贡献者。拥有多年一线研发和团队管理经验,研究过主流框架的底层源码(Spring、Spri
mybatis的insert(pojo),会返回pojo吗
在MyBatis中,执行insert操作时,Mapper接口的insert方法本身不会直接返回一个包含数据库生成字段的POJO对象。其默认返回值是受影响的数据库行数(通常是int或Integer)。以下是具体分析和解决方案:1.默认行为返回值类型:insert方法返回的是受影响的行数(整数),不是插入后的POJO对象。POJO状态:执行插入后,如果数据库生成了自增ID或其他字段(如创建时间),PO
MyBatis与MyBatis-Plus批量插入实战指南
代码小侦探
mybatis
在实际项目中,批量插入数据是一个常见且重要的需求。本文将详细总结MyBatis和MyBatis-Plus常用的几种批量插入方式,并通过实际代码示例和运行结果,帮助大家更好地理解和应用。一、准备工作导入pom.xml依赖mysqlmysql-connector-javaruntimeorg.mybatis.spring.bootmybatis-spring-boot-starter2.2.2com.
Spring Boot与MyBatis完美融合:整合实战指南
目录1、梳理整合思路2、整合实现2.1环境搭建2.2案例3、整合mybatis-plus报错1.依赖问题2.配置问题3.Mapper接口与XML文件问题4.实体类问题5.数据库连接问题6.SQL语句问题7.Spring容器问题8.其他1、梳理整合思路将MyBatis的DataSource交给SpringIoC容器创建并管理,使用第三方数据库连接池(Druid,C3P0等)代替MyBatis内置的数
MyBatis中#{}与${}的实战避坑指南
MyBatis在持久层框架中占据举足轻重的地位,其映射文件中的两种参数占位符——#{}与${}——常常令初学者困惑,也令资深开发者反复斟酌。笔者在日常代码审计与性能调优过程中,屡次遇到因二者混用而导致的生产事故,因此决定撰写一篇技术博客,结合真实项目片段,系统梳理二者的使用差异、安全边界与工程落地细节。全文约三千字,力求言必有据,例证皆来自可运行的源码仓库,读者可直接复现并验证。在MyBatis的
AI-调查研究-26-【时间管理】全球不同人群社交媒体使用时间情况
武子康
AI DeepSearch 人工智能 ai 学习 职场和发展 职场发展 个人开发 程序人生
点一下关注吧!!!非常感谢!!持续更新!!!AI篇持续更新中!(长期更新)AI炼丹日志-29-字节跳动DeerFlow深度研究框斜体样式架私有部署测试上手架构研究,持续打造实用AI工具指南!Java篇正式开启!(300篇)目前2025年07月10日更新到:Java-68深入浅出分布式服务Netty实现自定义RPC附详细代码MyBatis已完结,Spring已完结,Nginx已完结,Tomcat已完
【Spring Boot 整合 MyBatis 详细教程】
打会游戏睡会觉
spring boot spring boot mybatis 后端
文章目录SpringBoot整合MyBatis详细教程简介环境准备项目搭建项目结构配置项目1.`pom.xml`配置2.`数据源和MyBatis`配置3.`启动类`配置4.`Mapper接口`和`XML映射文件`测试总结SpringBoot整合MyBatis详细教程简介SpringBoot与MyBatis的整合可以让你轻松地构建数据访问层,通过简化配置和自动配置功能,使得开发者可以更加专注于业务逻
Spring Boot 整合 MyBatis 全流程指南
目录SpringBoot整合MyBatis全流程指南一、整合回顾与准备(一)Spring整合MyBatis回顾(二)SpringBoot整合MyBatis优势(三)案例需求(四)准备数据库二、创建工程并引入依赖三、配置数据源信息四、编写代码(一)引入实体类(二)创建mapper接口(三)创建service接口及实现类(四)创建controller类五、测试工程在实际开发中,配置文件的使用至关重要。
并发编程与MyBatis核心知识
我是廖志伟,一名Java开发工程师、《Java项目实战——深入理解大型互联网企业通用技术》(基础篇)、(进阶篇)、(架构篇)、《解密程序员的思维密码——沟通、演讲、思考的实践》作者、清华大学出版社签约作家、Java领域优质创作者、CSDN博客专家、阿里云专家博主、51CTO专家博主、产品软文专业写手、技术文章评审老师、技术类问卷调查设计师、幕后大佬社区创始人、开源项目贡献者。拥有多年一线研发和团队
Java+Vue 地下停车场管理系统的设计与实现
不若浮生一梦
计算机毕设 java vue.js 开发语言
一、项目简介本项目是一款基于SpringBoot+Vue开发的地下停车场管理系统,采用前后端分离架构,后端使用MyBatis操作MySQL数据库,前端使用Vue进行页面展示和用户交互。系统涵盖车位监控、车辆登记、订单生成与结算、在线支付、公告通知、留言反馈、用户积分管理等模块,支持用户端和管理员端的全流程停车管理,适用于中小型停车场数字化转型。项目定位:提升停车场管理效率与用户体验,实现“高效停车
SSM+Vue共享充电宝管理系统 充电宝投放管理系统 共享充电宝维护管理系统Java
计算机程序老哥
作者主页:计算机毕业设计老哥有问题可以主页问我一、开发介绍1.1开发环境开发语言:Java数据库:MySQL系统架构:B/S后端:SSM(Spring+SpringMVC+Mybatis)前端:Vue工具:IDEA或者Eclipse,JDK1.8,Maven二、系统介绍2.1图片展示注册登录页面:登陆前端页面功能:首页、合作商户、充电宝投放、公告栏、个人中心、后台管理首页.png充电宝投放.png
MyBatisPlus 批量添加
文章目录现状优化效果报错现状一般来说,批量插入可以使用MyBatisPlus中ServiceImpl自带的方法saveBatch打开sql日志,application.yml添加配置,mapper-locations配置mapper路径mybatis-plus:configuration:log-impl:org.apache.ibatis.logging.stdout.StdOutImpl#开启
springboot + mybatis使用xml方式九
AmeeLove
springboot集成mybatis使用xml方式依赖org.springframework.bootspring-boot-starter-parent1.5.12.RELEASEorg.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-starter-testtestorg.sprin
【经验分享】如何找到适合初学者的Java项目案例?
Java项目开发案例全程实录涉及从需求分析到部署维护的全流程,结合实战经验总结如下关键步骤:项目规划与需求分析:明确业务需求,定义功能范围和用户故事,如电商项目涉及订单处理和库存管理15。系统设计与技术选型:基于需求选择框架和技术栈,例如使用SpringBoot构建微服务架构,MyBatis处理数据交互,Redis作为缓存层优化性能5。编码实现与核心功能开发:业务逻辑层:编写核
lua协程 unity_XLua里使用协程
唱功大学
lua协程 unity
在XLua里如何使用协程?有两种方式使用Unity协程要想通过unity的StartCoroutine使用协程,需要传入IEnumerator参数Xlua提供了util.cs_generator来生成IEnumeratorutil是xlua的一个工具,require即可localutil=require'xlua.util'这样我们可以用StartCoroutine开启,StopCoroutine
狂神说Linux笔记
是你牛天成
项目部署 linux
B站视频狂神说LinuxJava开发之路:JavaSE,MySQL,前端(html,css,js),javaweb,SSM框架,SpringBootvue,SpringCloud,(mybatis-plusgit)LinuxLinux操作系统:Window、Mac消息队列(Kafka,RabbitMQ,RockeetMQ)缓存(Redis)搜索引擎(ElasticSearch)集群分布式(需要购买
Flutter 提取图像主色调 ColorScheme.fromImageProvider
愿天深海
flutter
从图像中提取主色调,用于动态适配颜色主题或者界面颜色。之前在Flutter应用里一直用的palette_generator插件,可以分析图像颜色,从中提取一系列主要的色调。最近发现这个谷歌官方的插件竟然不维护了,后续没有更新计划了。查找了一系列资料之后,才发现原来在Material3设计规范中有ColorScheme.fromImageProvider这么一个功能,用于从图像的主色调生成配色方案,
MyBatis Plus 中的条件构造器
中东大鹅
mybatis spring boot 后端 java
一、WrapperWrapper:条件构造抽象类,最顶端父类AbstractWrapper:用于查询条件封装,生成sql的where条件QueryWrapper:查询条件封装UpdateWrapper:Update条件封装AbstractLambdaWrapper:使用Lambda语法LambdaQueryWrapper:用于Lambda语法使用的查询WrapperLambdaUpdateWrap
MyBatis Plus 分页
中东大鹅
mybatis java 数据库 spring boot
一、分页插件MyBatisPlus自带分页插件,只要简单的配置即可实现分页功能1、添加配置类@ConfigurationpublicclassMyConfig{@BeanpublicMybatisPlusInterceptormybatisPlusInterceptor(){MybatisPlusInterceptorinterceptor=newMybatisPlusInterceptor();
MyBatis Plus 对数据表常用注解
中东大鹅
mybatis oracle 数据库 spring boot
1.@TableName(1)解释说明@TableName注解用于指定实体类对应的数据库表名,当实体类的名称与数据库表名不一致时,可以用此注解进行映射。此外,@TableName还支持设置一些其他的配置选项,比如全局表名前缀、后缀的处理。value:指定数据库表名。如果没有设置此注解,则会默认映射到与类名相同的表名。schema:指定数据库的schema,适用于多schema的情况。(2)应用示例
Postgresql数据库Java中mybatis问题记录
haokan_Jia
postgresql JAVA 数据库 postgresql java
项目场景:Java中使用mybatis进行数据查询,使用实体类接收报错“Errorattemptingtogetcolumn‘basin_code’fromresultset.Cause:org.postgresql.util.PSQLException:不良的类型值long:WFG_1\n;不良的类型值long:WFG_1;nestedexceptionisorg.postgresql.util
基于ssm框架的管理系统如何开题,有哪些步骤,怎么设计更合理
勤劳的史蒂夫
1、SSM框架简介SSM框架是SpringMVC,Spring和Mybatis框架的整合,是标准的MVC模式,将整个系统划分为View层,Controller层,Service层,DAO层四层,使用SpringMVC负责请求的转发和视图管理,Spring实现业务对象管理,Mybatis作为数据对象的持久化引擎。DAO层:DAO层主要是做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此。D
jsonp 常用util方法
hw1287789687
jsonp jsonp常用方法 jsonp callback
jsonp 常用java方法
(1)以jsonp的形式返回:函数名(json字符串)
/***
* 用于jsonp调用
* @param map : 用于构造json数据
* @param callback : 回调的javascript方法名
* @param filters : <code>SimpleBeanPropertyFilter theFilt
多线程场景
alafqq
多线程
0
能不能简单描述一下你在java web开发中需要用到多线程编程的场景?0
对多线程有些了解,但是不太清楚具体的应用场景,能简单说一下你遇到的多线程编程的场景吗?
Java多线程
2012年11月23日 15:41 Young9007 Young9007
4
0 0 4
Comment添加评论关注(2)
3个答案 按时间排序 按投票排序
0
0
最典型的如:
1、
Maven学习——修改Maven的本地仓库路径
Kai_Ge
maven
安装Maven后我们会在用户目录下发现.m2 文件夹。默认情况下,该文件夹下放置了Maven本地仓库.m2/repository。所有的Maven构件(artifact)都被存储到该仓库中,以方便重用。但是windows用户的操作系统都安装在C盘,把Maven仓库放到C盘是很危险的,为此我们需要修改Maven的本地仓库路径。
placeholder的浏览器兼容
120153216
placeholder
【前言】
自从html5引入placeholder后,问题就来了,
不支持html5的浏览器也先有这样的效果,
各种兼容,之前考虑,今天测试人员逮住不放,
想了个解决办法,看样子还行,记录一下。
【原理】
不使用placeholder,而是模拟placeholder的效果,
大概就是用focus和focusout效果。
【代码】
<scrip
debian_用iso文件创建本地apt源
2002wmj
Debian
1.将N个debian-506-amd64-DVD-N.iso存放于本地或其他媒介内,本例是放在本机/iso/目录下
2.创建N个挂载点目录
如下:
debian:~#mkdir –r /media/dvd1
debian:~#mkdir –r /media/dvd2
debian:~#mkdir –r /media/dvd3
….
debian:~#mkdir –r /media
SQLSERVER耗时最长的SQL
357029540
SQL Server
对于DBA来说,经常要知道存储过程的某些信息:
1. 执行了多少次
2. 执行的执行计划如何
3. 执行的平均读写如何
4. 执行平均需要多少时间
列名 &
com/genuitec/eclipse/j2eedt/core/J2EEProjectUtil
7454103
eclipse
今天eclipse突然报了com/genuitec/eclipse/j2eedt/core/J2EEProjectUtil 错误,并且工程文件打不开了,在网上找了一下资料,然后按照方法操作了一遍,好了,解决方法如下:
错误提示信息:
An error has occurred.See error log for more details.
Reason:
com/genuitec/
用正则删除文本中的html标签
adminjun
java html 正则表达式 去掉html标签
使用文本编辑器录入文章存入数据中的文本是HTML标签格式,由于业务需要对HTML标签进行去除只保留纯净的文本内容,于是乎Java实现自动过滤。
如下:
public static String Html2Text(String inputString) {
String htmlStr = inputString; // 含html标签的字符串
String textSt
嵌入式系统设计中常用总线和接口
aijuans
linux 基础
嵌入式系统设计中常用总线和接口
任何一个微处理器都要与一定数量的部件和外围设备连接,但如果将各部件和每一种外围设备都分别用一组线路与CPU直接连接,那么连线
Java函数调用方式——按值传递
ayaoxinchao
java 按值传递 对象 基础数据类型
Java使用按值传递的函数调用方式,这往往使我感到迷惑。因为在基础数据类型和对象的传递上,我就会纠结于到底是按值传递,还是按引用传递。其实经过学习,Java在任何地方,都一直发挥着按值传递的本色。
首先,让我们看一看基础数据类型是如何按值传递的。
public static void main(String[] args) {
int a = 2;
ios音量线性下降
bewithme
ios音量
直接上代码吧
//second 几秒内下降为0
- (void)reduceVolume:(int)second {
KGVoicePlayer *player = [KGVoicePlayer defaultPlayer];
if (!_flag) {
_tempVolume = player.volume;
与其怨它不如爱它
bijian1013
选择 理想 职业 规划
抱怨工作是年轻人的常态,但爱工作才是积极的心态,与其怨它不如爱它。
一般来说,在公司干了一两年后,不少年轻人容易产生怨言,除了具体的埋怨公司“扭门”,埋怨上司无能以外,也有许多人是因为根本不爱自已的那份工作,工作完全成了谋生的手段,跟自已的性格、专业、爱好都相差甚远。
一边时间不够用一边浪费时间
bingyingao
工作 时间 浪费
一方面感觉时间严重不够用,另一方面又在不停的浪费时间。
每一个周末,晚上熬夜看电影到凌晨一点,早上起不来一直睡到10点钟,10点钟起床,吃饭后玩手机到下午一点。
精神还是很差,下午像一直野鬼在城市里晃荡。
为何不尝试晚上10点钟就睡,早上7点就起,时间完全是一样的,把看电影的时间换到早上,精神好,气色好,一天好状态。
控制让自己周末早睡早起,你就成功了一半。
有多少个工作
【Scala八】Scala核心二:隐式转换
bit1129
scala
Implicits work like this: if you call a method on a Scala object, and the Scala compiler does not see a definition for that method in the class definition for that object, the compiler will try to con
sudoku slover in Haskell (2)
bookjovi
haskell sudoku
继续精简haskell版的sudoku程序,稍微改了一下,这次用了8行,同时性能也提高了很多,对每个空格的所有解不是通过尝试算出来的,而是直接得出。
board = [0,3,4,1,7,0,5,0,0,
0,6,0,0,0,8,3,0,1,
7,0,0,3,0,0,0,0,6,
5,0,0,6,4,0,8,0,7,
Java-Collections Framework学习与总结-HashSet和LinkedHashSet
BrokenDreams
linkedhashset
本篇总结一下两个常用的集合类HashSet和LinkedHashSet。
它们都实现了相同接口java.util.Set。Set表示一种元素无序且不可重复的集合;之前总结过的java.util.List表示一种元素可重复且有序
读《研磨设计模式》-代码笔记-备忘录模式-Memento
bylijinnan
java 设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
import java.util.ArrayList;
import java.util.List;
/*
* 备忘录模式的功能是,在不破坏封装性的前提下,捕获一个对象的内部状态,并在对象之外保存这个状态,为以后的状态恢复作“备忘”
《RAW格式照片处理专业技法》笔记
cherishLC
PS
注意,这不是教程!仅记录楼主之前不太了解的
一、色彩(空间)管理
作者建议采用ProRGB(色域最广),但camera raw中设为ProRGB,而PS中则在ProRGB的基础上,将gamma值设为了1.8(更符合人眼)
注意:bridge、camera raw怎么设置显示、输出的颜色都是正确的(会读取文件内的颜色配置文件),但用PS输出jpg文件时,必须先用Edit->conv
使用 Git 下载 Spring 源码 编译 for Eclipse
crabdave
eclipse
使用 Git 下载 Spring 源码 编译 for Eclipse
1、安装gradle,下载 http://www.gradle.org/downloads
配置环境变量GRADLE_HOME,配置PATH %GRADLE_HOME%/bin,cmd,gradle -v
2、spring4 用jdk8 下载 https://jdk8.java.
mysql连接拒绝问题
daizj
mysql 登录权限
mysql中在其它机器连接mysql服务器时报错问题汇总
一、[running]
[email protected] :~$mysql -uroot -h 192.168.9.108 -p //带-p参数,在下一步进行密码输入
Enter password: //无字符串输入
ERROR 1045 (28000): Access
Google Chrome 为何打压 H.264
dsjt
apple html5 chrome Google
Google 今天在 Chromium 官方博客宣布由于 H.264 编解码器并非开放标准,Chrome 将在几个月后正式停止对 H.264 视频解码的支持,全面采用开放的 WebM 和 Theora 格式。
Google 在博客上表示,自从 WebM 视频编解码器推出以后,在性能、厂商支持以及独立性方面已经取得了很大的进步,为了与 Chromium 现有支持的編解码器保持一致,Chrome
yii 获取控制器名 和方法名
dcj3sjt126com
yii framework
1. 获取控制器名
在控制器中获取控制器名: $name = $this->getId();
在视图中获取控制器名: $name = Yii::app()->controller->id;
2. 获取动作名
在控制器beforeAction()回调函数中获取动作名: $name =
Android知识总结(二)
come_for_dream
android
明天要考试了,速速总结如下
1、Activity的启动模式
standard:每次调用Activity的时候都创建一个(可以有多个相同的实例,也允许多个相同Activity叠加。)
singleTop:可以有多个实例,但是不允许多个相同Activity叠加。即,如果Ac
高洛峰收徒第二期:寻找未来的“技术大牛” ——折腾一年,奖励20万元
gcq511120594
工作 项目管理
高洛峰,兄弟连IT教育合伙人、猿代码创始人、PHP培训第一人、《细说PHP》作者、软件开发工程师、《IT峰播》主创人、PHP讲师的鼻祖!
首期现在的进程刚刚过半,徒弟们真的很棒,人品都没的说,团结互助,学习刻苦,工作认真积极,灵活上进。我几乎会把他们全部留下来,现在已有一多半安排了实际的工作,并取得了很好的成绩。等他们出徒之日,凭他们的能力一定能够拿到高薪,而且我还承诺过一个徒弟,当他拿到大学毕
linux expect
heipark
expect
1. 创建、编辑文件go.sh
#!/usr/bin/expect
spawn sudo su admin
expect "*password*" { send "13456\r\n" }
interact
2. 设置权限
chmod u+x go.sh 3.
Spring4.1新特性——静态资源处理增强
jinnianshilongnian
spring 4.1
目录
Spring4.1新特性——综述
Spring4.1新特性——Spring核心部分及其他
Spring4.1新特性——Spring缓存框架增强
Spring4.1新特性——异步调用和事件机制的异常处理
Spring4.1新特性——数据库集成测试脚本初始化
Spring4.1新特性——Spring MVC增强
Spring4.1新特性——页面自动化测试框架Spring MVC T
idea ubuntuxia 乱码
liyonghui160com
1.首先需要在windows字体目录下或者其它地方找到simsun.ttf 这个 字体文件。
2.在ubuntu 下可以执行下面操作安装该字体:
sudo mkdir /usr/share/fonts/truetype/simsun
sudo cp simsun.ttf /usr/share/fonts/truetype/simsun
fc-cache -f -v
改良程序的11技巧
pda158
技巧
有很多理由都能说明为什么我们应该写出清晰、可读性好的程序。最重要的一点,程序你只写一次,但以后会无数次的阅读。当你第二天回头来看你的代码 时,你就要开始阅读它了。当你把代码拿给其他人看时,他必须阅读你的代码。因此,在编写时多花一点时间,你会在阅读它时节省大量的时间。
让我们看一些基本的编程技巧:
尽量保持方法简短
永远永远不要把同一个变量用于多个不同的
300个涵盖IT各方面的免费资源(下)——工作与学习篇
shoothao
创业 免费资源 学习课程 远程工作
工作与生产效率:
A. 背景声音
Noisli:背景噪音与颜色生成器。
Noizio:环境声均衡器。
Defonic:世界上任何的声响都可混合成美丽的旋律。
Designers.mx:设计者为设计者所准备的播放列表。
Coffitivity:这里的声音就像咖啡馆里放的一样。
B. 避免注意力分散
Self Co
深入浅出RPC
uule
rpc
深入浅出RPC-浅出篇
深入浅出RPC-深入篇
RPC
Remote Procedure Call Protocol
远程过程调用协议
它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发