随笔分类 - java框架
摘要:1. 网页客户端使用表单提交文件上传 当使用表单提交文件上传时,必须: 表单<form>必须配置method="post"; 表单<form>必须配置enctype="multipart/form-data"; 其它部分与常规的表单开发相同。 2. 在控制器中处理文件上传 在处理请求的方法中,添加M
阅读全文
摘要:今天遇到一个空指针异常,在调用某Mapper的查询方法时报此mapper的空指针异常: Mapper自动装配: 异常: 此Mapper在测试单元中却能正常使用。 所以推测,不管此mapper啥事,而是调用它的service对象的问题。 经过检测,原来是调用此Mapper对象的service对象,它!
阅读全文
摘要:引入 在AJAX技术之前,我们使用请求转发或是重定向来不断获取数据,这两种方式都是页面请求(每次请求获取一整个页面),它消耗的资源高。 现在我们使用ajax,ajax技术是正文请求,只更改网页的部分数据而不重新请求一个新的页面,可以使客户端效率更高。 json 我们将服务器需要返回给客服端的数据封装
阅读全文
摘要:零、SSM框架demo下载 以下配置与demo均为maven项目。 一、依赖添加(pom.xml) 主要配置的依赖包有: spring框架(spring-context),springMVC框架(spring-webmvc),MyBatis框架(mybatis与mybatis-spring),模板解
阅读全文
摘要:引入 多表查询我们就不能使用实体类来接收结果,而使用VO(Value Object)类来接收。他们在结构形式上是一致的,但是定位不同,VO类专用于多表查询结果的封装。 案例:t_user表与t_group表的查询 t_user表结构 t_group表结构 VO类的设计 多表查询结果通常使用一个VO类
阅读全文
摘要:字段名与属性名不一致导致无法封装数据的问题 在数据库的字段命名中,我们使用下划线分隔。 而在java的属性命名中,我们使用小驼峰命名规则,这会使得某些这些字段的返回值无法与javaBean的属性值对应,使得数据封装为null值。 为了解决这个问题,我们可以使用两种方法。 方法一:查询语句中给字段起别
阅读全文
摘要:只看使用 在mapper标签下添加 <cache readOnly="true"></cache> 看原理 1.应用程序和数据库交互的过程是一个相对比较耗时的过程 2. 缓存存在的意义:让应用程序减少对数据库的访问,提升程序运行效率 3. MyBatis 中默认 SqlSession 缓存开启 3.
阅读全文
摘要:动态SQL 所谓动态sql,就是加了一些逻辑判断的SQL语句。 主要有以下: where-if :where标签下写if标签。如果if判断成立,则执行if下的sql,多个if可叠加执行。如where标签下判断无内容,where标签不被执行。需要在if标签下sql语句前写and。默认执行时第一个and
阅读全文
摘要:报错代码如 注:此session已声明,并且通过System.out.println可打印出地址。 long count = session.selectOne("cn.xiaohei.mapper.LogMapper.selCount"); 异常如 严重: Servlet.service() fo
阅读全文
摘要:案例 一个账户给另一个账户转账, 转账成功后跳转转账日志界面。 日志界面的意义在于分页的使用。 bug 我遇到SqlSession空指针异常bug,但session对象明明是有地址的,怀疑跟mapper有关。在我一顿操作气到砸电脑后bug消失了。 总结 淦 效果演示 代码包 点击下载
阅读全文
摘要:新增 Mapper.xml配置 <insert id="insOne" parameterType="peo"> insert into people values(default,#{name},#{age}) </insert> java代码传参示例 People p = new People(
阅读全文
摘要:引入别名 在Mapper中我们常常使用包名.类名的方法引入类,但这样写太长了,MyBatis为我们提供了别名功能。 注意:是给类起别名,mapper不行 在MyBatis的配置文件中。 第一种方式:给单独的类起别名 在alias后跟上别名,在type中跟上包名.类名。 <typeAliases> <
阅读全文
摘要:使用map实现分页 java中 int pageSize = 2; int startPage = 0; map.put("pageSize", pageSize); map.put("startPage", startPage); list = session.selectList("cn.xia
阅读全文
摘要:参数类型ParameterType 传递参数 selectList()方法和selectOne方法,只能传一个参数: 下面方法的第二个参数,即需要传入的参数(如下传入1) 第一个参数为方法名。 session.selectOne("cn.xiaohei.mapper.PeopleMapper.sel
阅读全文
摘要:引入 在全局配置中,我们可以开启MyBatis的日志功能,前面我们也看到,MyBatis的依赖包有很多是日志包,其中就包含log4j。 导入log4j配置文件 放在src目录下,不可更改路径。 配置文件名为:log4j.properties 不可更改文件名 log4j.rootCategory=ER
阅读全文
摘要:三种查询方式 在使用SQLSession调用查询方式时,有三种查询方式 1.selectList(方法) 返回值为List<ResultType 属性控制> 2.selectOne(方法) 返回一个Object,适用于返回结果只是变量或一行数据时 3.selectMap(方法,列名) 以列名为key
阅读全文
摘要:实体类中属性名需要与字段保持一致,否则查询不到对应字段的数据。 但可以在查询语句中使用别名的方法获得数据,例如,字段为name,但实体类中的对应的属性确实name123,那么可以在查询时做别名操作: select name name123,age from person 就是这样子了。
阅读全文

浙公网安备 33010602011771号