竹山一叶

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2017年1月1日

摘要: 在这一系列文章中,前面讲到纯粹用mybatis 连接数据库,然后 进行增删改查,以及多表联合查询的的例子,但实际项目中,通常会用 spring 这个沾合剂来管理 datasource 等。充分利用spring 基于接口的编程,以及aop ,ioc 带来的方便。用spring 来管理 mybatis 与管理hibernate 有很多类似的地方。今天的重点就是数据源管理以及 bean的配置。你可以下载... 阅读全文
posted @ 2017-01-01 23:10 竹山一叶 阅读(304) 评论(0) 推荐(0) 编辑

2016年12月31日

摘要: 有了前面几章的基础,对一些简单的应用是可以处理的,但在实际项目中,经常是关联表的查询,比如最常见到的多对一,一对多等。这些查询是如何处理的呢,这一讲就讲这个问题。我们首先创建一个Article 这个表,并初始化数据. 程序代码Drop TABLE IF EXISTS `article`;Create TABLE `article` ( `id` int(11) NOT NULL auto_inc... 阅读全文
posted @ 2016-12-31 22:00 竹山一叶 阅读(363) 评论(0) 推荐(0) 编辑

摘要: 前面已经讲到用接口的方式编程。这种方式,要注意的一个地方就是。在User.xml 的配置文件中,mapper namespace="com.yihaomen.mybatis.inter.IUserOperation" ,命名空间非常重要,不能有错,必须与我们定义的package 和 接口一致。如果不一致就会出错,这一章主要在上一讲基于接口编程的基础上完成如下事情:1. 用 mybatis 查询数... 阅读全文
posted @ 2016-12-31 21:58 竹山一叶 阅读(315) 评论(0) 推荐(0) 编辑

2016年12月30日

摘要: 前面一章,已经搭建好了eclipse,mybatis,mysql的环境,并且实现了一个简单的查询。请注意,这种方式是用SqlSession实例来直接执行已映射的SQL语句:session.selectOne("com.yihaomen.mybatis.models.UserMapper.selectUserByID", 1)其实还有更简单的方法,而且是更好的方法,使用合理描述参数和SQL语句返回值... 阅读全文
posted @ 2016-12-30 11:46 竹山一叶 阅读(317) 评论(0) 推荐(0) 编辑

摘要: mybatis 的开发环境搭建,选择: eclipse j2ee 版本,mysql 5.1 ,jdk 1.7,mybatis3.2.0.jar包。这些软件工具均可以到各自的官方网站上下载。首先建立一个名字为 MyBaits 的 dynamic web project 1. 现阶段,你可以直接建立java 工程,但一般都是开发web项目,这个系列教程最后也是web的,所以一开始就建立web工程。2... 阅读全文
posted @ 2016-12-30 11:43 竹山一叶 阅读(340) 评论(0) 推荐(0) 编辑

2016年12月29日

摘要: 四、MyBatis主配置文件 在定义sqlSessionFactory时需要指定MyBatis主配置文件: Xml代码 MyBatis配置文件中大标签configuration下子标签包括:configuration|--- properties|--- settings|--- typeAliases|--- typeHandlers|--- object... 阅读全文
posted @ 2016-12-29 09:41 竹山一叶 阅读(522) 评论(0) 推荐(0) 编辑

2016年12月28日

摘要: 三、动态SQL语句 有些时候,sql语句where条件中,需要一些安全判断,例如按某一条件查询时如果传入的参数是空,此时查询出的结果很可能是空的,也许我们需要参数为空时,是查出全部的信息。使用Oracle的序列、mysql的函数生成Id。这时我们可以使用动态sql。 下文均采用mysql语法和函数(例如字符串链接函数CONCAT)。 3.1 selectKey 标签 ... 阅读全文
posted @ 2016-12-28 17:42 竹山一叶 阅读(354) 评论(0) 推荐(0) 编辑

摘要: 二、SQL语句映射文件(2)增删改查、参数、缓存 2.2 select一个select 元素非常简单。例如:Xml代码 这条语句就叫做‘getStudent,有一个String参数,并返回一个StudentEntity类型的对象。注意参数的标识是:#{studentID}。 select 语句属性配置细节: 属性描述取值默认id在这个模式下唯一的标识符,可被其它语句引用paramet... 阅读全文
posted @ 2016-12-28 17:40 竹山一叶 阅读(726) 评论(0) 推荐(0) 编辑

2016年12月27日

摘要: 二、SQL语句映射文件(1)resultMapSQL 映射XML 文件是所有sql语句放置的地方。需要定义一个workspace,一般定义为对应的接口类的路径。写好SQL语句映射文件后,需要在MyBAtis配置文件mappers标签中引用,例如: Xml代码 当Java接口与XML文件在一个相对路径下时,可以不在myBatis配置文件的m... 阅读全文
posted @ 2016-12-27 17:00 竹山一叶 阅读(966) 评论(0) 推荐(0) 编辑

摘要: 一、MyBatis简介与配置MyBatis+Spring+MySql 1.1MyBatis简介 MyBatis 是一个可以自定义SQL、存储过程和高级映射的持久层框架。MyBatis 摒除了大部分的JDBC代码、手工设置参数和结果集重获。MyBatis 只使用简单的XML 和注解来配置和映射基本数据类型、Map 接口和POJO 到数据库记录。相对Hibernate和Apache OJB等... 阅读全文
posted @ 2016-12-27 16:47 竹山一叶 阅读(439) 评论(0) 推荐(0) 编辑

2016年12月26日

摘要: 一、搭建开发环境 1.1、使用Maven创建Web项目 执行如下命令: mvn archetype:create -DgroupId=me.gacl -DartifactId=spring4-mybatis3 -DarchetypeArtifactId=maven-archetype-webapp 阅读全文
posted @ 2016-12-26 15:10 竹山一叶 阅读(624) 评论(0) 推荐(0) 编辑

摘要: 一、MyBatis缓存介绍 正如大多数持久层框架一样,MyBatis 同样提供了一级缓存和二级缓存的支持 1.1、Mybatis一级缓存测试 1.2、Mybatis二级缓存测试 1、开启二级缓存,在userMapper.xml文件中添加如下配置 2、测试二级缓存 1.3、二级缓存补充说明 1. 映射 阅读全文
posted @ 2016-12-26 10:37 竹山一叶 阅读(513) 评论(0) 推荐(0) 编辑

2016年12月25日

摘要: 一、提出需求 查询得到男性或女性的数量, 如果传入的是0就女性否则是男性 二、准备数据库表和存储过程 三、编辑userMapper.xml 编辑userMapper.xml文件,添加如下的配置项 四、编写单元测试代码 来源:http://www.cnblogs.com/xdp-gacl/p/4270 阅读全文
posted @ 2016-12-25 22:40 竹山一叶 阅读(539) 评论(0) 推荐(0) 编辑

2016年12月24日

摘要: 一、一对一关联 1.1、提出需求 根据班级id查询班级信息(带老师的信息) 1.2、创建表和数据 创建一张教师表和班级表,这里我们假设一个老师只负责教一个班,那么老师和班级之间的关系就是一种一对一的关系。 表之间的关系如下: 1.3、定义实体类 1、Teacher类,Teacher类是teacher 阅读全文
posted @ 2016-12-24 19:57 竹山一叶 阅读(694) 评论(0) 推荐(0) 编辑

2016年12月23日

摘要: 在平时的开发中,我们表中的字段名和表对应实体类的属性名称不一定都是完全相同的,下面来演示一下这种情况下的如何解决字段名与实体类属性名不相同的冲突。 一、准备演示需要使用的表和数据 二、定义实体类 三、编写测试代码 3.1、编写SQL的xml映射文件 1、创建一个orderMapper.xml文件,o 阅读全文
posted @ 2016-12-23 16:20 竹山一叶 阅读(688) 评论(0) 推荐(0) 编辑

摘要: 一、连接数据库的配置单独放在一个properties文件中 之前,我们是直接将数据库的连接配置信息写在了MyBatis的conf.xml文件中,如下: 其实我们完全可以将数据库的连接配置信息写在一个properties文件中,然后在conf.xml文件中引用properties文件,具体做法如下: 阅读全文
posted @ 2016-12-23 14:17 竹山一叶 阅读(793) 评论(0) 推荐(0) 编辑

2016年12月22日

摘要: 上一篇博文MyBatis入门学习教程-MyBatis快速入门中我们讲了如何使用Mybatis查询users表中的数据,算是对MyBatis有一个初步的入门了,今天讲解一下如何使用MyBatis对users表执行CRUD操作。本文中使用到的测试环境是上一篇博文中的测试环境。 一、使用MyBatis对表 阅读全文
posted @ 2016-12-22 14:58 竹山一叶 阅读(1290) 评论(0) 推荐(0) 编辑

摘要: 一、Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java 阅读全文
posted @ 2016-12-22 14:40 竹山一叶 阅读(14750) 评论(0) 推荐(2) 编辑

2016年12月21日

摘要: Apache Shiro 是ASF旗下的一款开源软件(Shiro发音为“shee-roh”,日语“堡垒(Castle)”的意思),提供了一个强大而灵活的安全框架。可为任何应用提供安全保障— 从命令行应用、移动应用到大型网络及企业应用。Apache Shiro提供了认证、授权、加密和会话管理功能,将复杂的问题隐藏起来,提供清晰直观的API使开发者可以很轻松地开发自己的程序安全代码。并且在实现此目标时... 阅读全文
posted @ 2016-12-21 17:03 竹山一叶 阅读(421) 评论(0) 推荐(0) 编辑

摘要: Shiro 是 Java 世界中新近出现的权限框架,较之 JAAS 和 Spring Security,Shiro 在保持强大功能的同时,还在简单性和灵活性方面拥有巨大优势。本文介绍了 Shiro 的关键概念和权限模型,同时给出了 Shiro 以及 Grails Shiro Plugin 的使用示例。在阅读本文的过程中,读者可以充分的体会到 Shiro 的魅力。前言Shiro 是 JAVA 世界中... 阅读全文
posted @ 2016-12-21 16:49 竹山一叶 阅读(289) 评论(0) 推荐(0) 编辑

2016年12月20日

摘要: Apache Shiro 是功能强大并且容易集成的开源权限框架,它能够完成认证、授权、加密、会话管理等功能。认证和授权为权限控制的核心,简单来说,“认证”就是证明你是谁? Web 应用程序一般做法通过表单提交用户名及密码达到认证目的。“授权”即是否允许已认证用户访问受保护资源。关于 Shiro 的一系列特征及优点,很多文章已有列举,这里不再逐一赘述,本文重点介绍 Shiro 在 Web Appli... 阅读全文
posted @ 2016-12-20 17:18 竹山一叶 阅读(352) 评论(0) 推荐(0) 编辑

摘要: 注:这里只介绍Spring配置模式。因为官方例子虽然中有更加简洁的ini配置形式,但是使用ini配置无法与spring整合。而且两种配置方法一样,只是格式不一样。涉及的jar包核心包shiro-core1.2.0Web相关包shiro-web1.2.0缓存包shiro-ehcache1.2.0与spring整合包shiro-spring1.2.0Ehcache缓存核心包ehcache-core2.... 阅读全文
posted @ 2016-12-20 16:48 竹山一叶 阅读(489) 评论(0) 推荐(0) 编辑

2016年12月19日

摘要: 声明本文只适合初学者,本人也是刚接触而已,经过一段时间的研究小有收获,特来分享下希望和大家互相交流学习。首先配置我们的web.xml代码如下: shiroFilter org.springframework.web.filter.DelegatingFilterProxy shiroFilter /* @... 阅读全文
posted @ 2016-12-19 16:13 竹山一叶 阅读(2569) 评论(0) 推荐(0) 编辑

摘要: 当报这个错时,就很难看到我们自己输出的日志,系统运行情况后台无法得到输出。解决方案是加入以下依赖:Xml代码 org.slf4j slf4j-log4j12 1.7.5 provided log4j log4j 1.2.14 provided ... 阅读全文
posted @ 2016-12-19 15:55 竹山一叶 阅读(15186) 评论(0) 推荐(1) 编辑

2016年12月18日

摘要: 当Shiro集成到Spring mvc中,却发现shiro的权限注解不起作用,官方的配置是要支持注解,只需要将以下代码加到spring 配置文件中即可: 后来研究发现,不起作用是因为代码放的位置不对,需要将上面代码放到视图的配置文件中,如:spring-mvc.xml文/Devid(简书作者)原文链接:http://www.jianshu.com/p/3716ee8e3adc来自为知... 阅读全文
posted @ 2016-12-18 23:10 竹山一叶 阅读(2054) 评论(0) 推荐(1) 编辑

摘要: 在使用Shiro标签库前,首先需要在JSP引入shiro标签: 1、介绍Shiro的标签guest标签 :验证当前用户是否为“访客”,即未认证(包含未记住)的用户。 Hi there! Please Login or Signup today! 2、user标签 :认证通过或已记住的用户。 Welcome back John! Not John? Click here to login. ... 阅读全文
posted @ 2016-12-18 23:09 竹山一叶 阅读(1589) 评论(0) 推荐(0) 编辑

2016年12月17日

摘要: shiro验证权限方式一种是基于url配置文件:例如: /home=authc /resources/**=ano... 阅读全文
posted @ 2016-12-17 23:11 竹山一叶 阅读(2520) 评论(0) 推荐(0) 编辑

摘要: Apache Shiro是Java的一个安全框架。目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring Security,可能没有Spring Security做的功能强大,但是在实际工作时可能并不需要那么复杂的东西,所以使用小而简单的Shiro就足够了。 因为我总结的是使用SpringMVC和Apache Shiro整合,注重的是整合和使用,至于基础... 阅读全文
posted @ 2016-12-17 23:07 竹山一叶 阅读(4944) 评论(0) 推荐(0) 编辑

2016年12月16日

摘要: 摘要: SpringMVC整合Shiro,Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能。第一步:配置web.xml --> shiroFilter org.springframework.web.filter.DelegatingFilterProxy targetFilterLifecyc... 阅读全文
posted @ 2016-12-16 15:51 竹山一叶 阅读(1942) 评论(0) 推荐(0) 编辑

摘要: 在尝试保护你的应用时,你是否有过挫败感?是否觉得现有的Java安全解决方案难以使用,只会让你更糊涂?本文介绍的Apache Shiro,是一个不同寻常的Java安全框架,为保护应用提供了简单而强大的方法。本文还解释了Apache Shiro的项目目标、架构理念以及如何使用Shiro为应用安全保驾护航。什么是Apache Shiro?Apache Shiro(发音为“shee-roh”,日语“堡垒(... 阅读全文
posted @ 2016-12-16 15:08 竹山一叶 阅读(646) 评论(0) 推荐(0) 编辑

摘要: 一、在web.xml中添加shiro过滤器 Xml代码 shiroFilter org.springframework.web.filter.DelegatingFilterProxy shiroFilter /* 二、在Spring的applicationContext.xml中添加shiro配置 1、... 阅读全文
posted @ 2016-12-16 15:05 竹山一叶 阅读(480) 评论(0) 推荐(0) 编辑

摘要: Apache Shiro的配置主要分为四部分: 对象和属性的定义与配置URL的过滤器配置静态用户配置静态角色配置其中,由于用户、角色一般由后台进行操作的动态数据,因此Shiro配置一般仅包含前两项的配置。 Apache Shiro的大多数组件是基于POJO的,因此我们可以使用POJO兼容的任何配置机制进行配置,例如:Java代码、Sping XML、YAML、JSON、ini文件等等。下面,以Sp... 阅读全文
posted @ 2016-12-16 09:19 竹山一叶 阅读(589) 评论(0) 推荐(0) 编辑

摘要: 在认证、授权内部实现机制中都有提到,最终处理都将交给Real进行处理。因为在Shiro中,最终是通过Realm来获取应用程序中的用户、角色及权限信息的。通常情况下,在Realm中会直接从我们的数据源中获取Shiro需要的验证信息。可以说,Realm是专用于安全框架的DAO。 一、认证实现 正如前文所提到的,Shiro的认证过程最终会交由Realm执行,这时会调用Realm的getAuthentic... 阅读全文
posted @ 2016-12-16 09:18 竹山一叶 阅读(676) 评论(0) 推荐(0) 编辑

2016年12月15日

摘要: 授权即访问控制,它将判断用户在应用程序中对资源是否拥有相应的访问权限。 如,判断一个用户有查看页面的权限,编辑数据的权限,拥有某一按钮的权限,以及是否拥有打印的权限等等。 一、授权的三要素 授权有着三个核心元素:权限、角色和用户。 权限 权限是Apache Shiro安全机制最核心的元素。它在应用程序中明确声明了被允许的行为和表现。一个格式良好的权限声明可以清晰表达出用户对该资源拥有的权限。 大多... 阅读全文
posted @ 2016-12-15 23:01 竹山一叶 阅读(634) 评论(0) 推荐(0) 编辑

摘要: 认证就是验证用户身份的过程。在认证过程中,用户需要提交实体信息(Principals)和凭据信息(Credentials)以检验用户是否合法。最常见的“实体/凭证”组合便是“用户名/密码”组合。 一、Shiro认证过程 1、收集实体/凭据信息 Java代码 //Example using most common scenario of username/password pair: Usern... 阅读全文
posted @ 2016-12-15 22:45 竹山一叶 阅读(496) 评论(0) 推荐(0) 编辑

摘要: 一、什么是Shiro Apache Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能: 认证 - 用户身份识别,常被称为用户“登录”;授权 - 访问控制;密码加密 - 保护或隐藏数据防止被偷窥;会话管理 - 每用户相关的时间敏感的状态。对于任何一个应用程序,Shiro都可以提供全面的安全管理服务。并且相对于其他安全框架,Shiro要简单的多。 二、Shiro的架构... 阅读全文
posted @ 2016-12-15 22:41 竹山一叶 阅读(1820) 评论(0) 推荐(0) 编辑

摘要: IntelliJ IDEA默认文件是自动保存的,但是手头有个项目jsp文件改动后,在tomcat中不能立即响应变化。想要jsp文件改动后立刻看到变化,可以通过修改配置来实现。 在IDEA tomcat 中server的配置里,有个On frame deactivation,选择Update classes and resources。另外有个配置on update actio... 阅读全文
posted @ 2016-12-15 18:16 竹山一叶 阅读(58085) 评论(0) 推荐(4) 编辑

摘要: 初衷记得以前写接口,写完后会整理一份API接口文档,而文档的格式如果没有具体要求的话,最终展示的文档则完全决定于开发者的心情。也许多点,也许少点。甚至,接口总是需要适应新需求的,修改了,增加了,这份文档维护起来就很困难了。于是发现了swagger,自动生成文档的工具。swagger介绍首先,官网这样写的:Swagger – The World's Most Popular Framework fo... 阅读全文
posted @ 2016-12-15 10:37 竹山一叶 阅读(1267) 评论(0) 推荐(0) 编辑

2016年12月14日

摘要: Java Code Examples for springfox.documentation.spi.DocumentationTypeThe following are top voted examples for showing how to use springfox.documentation.spi.DocumentationType. These examples are extrac... 阅读全文
posted @ 2016-12-14 09:41 竹山一叶 阅读(2065) 评论(0) 推荐(0) 编辑

摘要: Java Code Examples for springfox.documentation.service.ApiInfoThe following are top voted examples for showing how to use springfox.documentation.service.ApiInfo. These examples are extracted from ope... 阅读全文
posted @ 2016-12-14 09:36 竹山一叶 阅读(4157) 评论(0) 推荐(0) 编辑