测试
测试
MyBatis动态Sql
动态SQL_if一个查询的方法的Sql语句不一定是固定的。比如电商网站的查询商品,用户使用不同条件查询,Sql语句就会添加不同的查询条件。此时就需要在方法中使用动态Sql语句。
<if>标签内的Sql片段在满足条件后才会添加,用法为:<if test="条件">。例如:根据不同条件查询用户:
持久层接口添加方法
12// 用户通用查询List<User> findByCondition(User user);
映射文件添加标签
1234567891011121314<select id="findByCondition" parameterType="User" resultType="User"> select * from user <where> <if test="username != null and username.length() != 0"> ...
MyBatis配置文件
MyBatis配置文件_propertiesMyBatis配置文件结构:
1234567891011121314151617-configuration -properties(属性) -property -settings(全局配置参数) -setting -plugins(插件) -plugin -typeAliases(别名) -typeAliase -package -environments(环境) -environment -transactionManager(事务管理) -dataSource(数据源) -mappers(映射器) -mapper -package
properties属性值定义。properties标签中可以定义属性值,也可以引入外部配置文件。无论是内部定义还是外部引入,都可以使用${name}获取值。
例如:我们可以将数据源配置写到外部的db.properti ...
新的开始
新的开始好像有改变了,又好像没有。是在朝着心里预期的轨迹前行,但是对自己还有很大的不满,希望在接下来的这段时光里奋勇前行。弥补对自己的不满。
有梦想很好,但是我却说不出个梦想,只有我想要做什么,朝着方向去努力,我只知道我可以。梦想对我来说太大了。
生活小记
-生活很高兴又能够记录自己了,我希望能够坚持下去。加油!
生活是一个沉重的话题,特别是对于我们马上要毕业却又不知所措的人来说。
对于这短短的三年,我们都有这很多的回忆,也会觉得时间过得太快了。三年转瞬即逝,对于接下来的人生我也做出了选择。我很害怕选择,有时候你甚至会怀疑自己的选择。我觉得这个选择让我背负了太多的期望和希望,我甚至不知道自己真实的选择到底是什么。
我很害怕选择,人生的路上最怕的就是岔路口,你不知道那一条是对的,你甚至不能够自己去做决定,你始终不是你一个人,生活也不是你一个人的生活。
这个选择带给了我很大的压力,时常让我觉得无法正确的面对。但是另一方面它也带给了我很大的动力。就像是善良和邪恶的小天使一样,互相斗争,互相吞噬,吞噬着我的思想,影响着我的行为。我的心情就像是过山车一样,时而激情澎湃,时而一潭死水,它又影响着我的行为,时而积极向上,时而懒惰颓废。
我很庆幸一直有她的陪伴,无论我在任何的情绪下,想到她就只有开心两个字能偶形容。或许我怀疑过很多我做出的选择,为之动摇。但是,她是我永远都不会动摇的选择。无论你们说什么,我从不为我做出的这一次选择而后悔。也许你们觉得我做出 ...
JSP入门
JSP入门Java Server Pages: java服务器端页面
可以理解为:一个特殊的页面,其中既可以指定定义html标签,又可以定义java代码
用于简化书写
原理:
JSP本质上就是一个Servlet
JSP的脚本:JSP定义Java代码的方式
<% 代码 %>:定义的java代码,在service方法中。service方法中可以定义什么,该脚本中就可以定义什么。
<%! 代码 %>:定义的java代码,在jsp转换后的java类的成员位置。定义成员方法,成员变量。
<%= 代码 %>:定义的java代码,会输出到页面上。输出语句中可以定义什么,该脚本中就可以定义什么。
JSP的内置对象:在jsp页面中不需要获取和创建,可以直接使用的对象
jsp一共有9个内置对象。
今天学习3个:
request
response
out:字符输出流对象。可以将数据输出到页面上。和response.getWriter()类似
response.getWriter()和out.write()的区别:
在tomcat服务器真正给客户端做出响应之前, ...
开始既是结束
今年开学就是大三了,这次开学,也就是结束。
开学了!
开学了! 寒假到现在八个月了,终于又回到了学校。当然不是想学校,而是想亲爱的舍友们,好久没当爸爸了,确实非常想念他们。
乘坐早上五点的车,来到学校时也九点了。不争气的行李箱让我吃了不少苦头,还好,顺利到学校了。我是第一个到学校的,当然也得给儿子们打扫宿舍卫生。出乎意料的是,宿舍还算好,不潮湿,没有发霉的味道,没有出现网上说的任何好玩的时。除了有点味道,和走的时候差不多,还是那么温馨,熟悉。打开被子,很好,没有发霉,甚至没有味道,但是还是免不了晒一下。对象还给我买的有驱虫药,So sweet.
一直到中午,才有第二个人来。一起去吃过饭。又有人来了,来了就开始吹牛逼。还真是什么都没变,都是熟悉的味道,这感觉真好。
数据库连接池
数据库连接池概念一个容器(集合),存放数据库连接的容器。
当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完后,将连接对象归还给容器。
可以节约资源,不用每次都创建对象。
实现标准接口:DataSource javax.sql包下的
方法:
获取连接:getConnection()
归还连接:Connection.close()。如果连接对象Connection是从连接池中获取的,那么调用Connection.close()方法,则不会再关闭连接了。而是归还连接
一般我们不去实现它,有数据库厂商来实现
C3P0:数据库连接池技术
Druid:数据库连接池实现技术,由阿里巴巴提供的
C3P0:数据库连接池技术使用步骤:
导入jar包(两个):
c3p0-0.9.5.5.jar
mchange-commons-java-0.2.19.jar
定义配置文件:
名称:c3p0.properties 或者 c3p0-config.xml
配置文件路径:直接放在src目录下即可
创建数据库连接池对象:Co ...
JDBC基础
JDBC基础SQL语言基础SQL分类
DDL(Data Definition Language)数据定义语言 用来定义数据库对象:数据库,表,列等。关键字:create, drop,alter 等
DML(Data Manipulation Language)数据操作语言 用来对数据库中表的数据进行增删改。关键字:insert, delete, update 等
DQL(Data Query Language)数据查询语言 用来查询数据库中表的记录(数据)。关键字:select, where 等
DCL(Data Control Language)数据控制语言(了解) 用来定义数据库的访问权限和安全级别,及创建用户。关键字:GRANT, REVOKE 等
DDL:操作数据库、表
操作数据库:CRUD
C(Create):创建
创建数据库:
create database 数据库名称;
创建数据库,判断不存在,再创建:
create database if not exists 数据库名称;
创建数据库,并指定字符集
create database 数据库名称 ...