首先,我把调用方法的方式换了一下,先提前说明,防止造成问题,具体如下:
private SqlSession session = null; private PersonDao dao = null;
@Before public void before(){ session = MybatisTool.getSession(); dao = session.getMapper(PersonDao.class); } @After public void after(){ session.close(); dao = null; }
这种方式调用比较方便。
下面继续Mybatis的一些其他的语句:
1. sql---定义一个可重用的sql代码的片段
<sql id="nameage">name,age</sql> <sql id="table">person</sql>
上面用sql定义可重用的代码片段
<select id="selectPersons" parameterType="int" resultType="hashMap"> select <include refid="nameage" /> from <include refid="table" /> where id=#{id} </select>
使用已经定义的代码片段
进行测试:
@Test public void testSelectPersons(){ Map<String, Object> map = dao.selectPersons(2); System.out.println(map); }
输出结果:
{age=12, name=henushang}
2. Parameters ----mybatis中的参数
对于简单的参数来说(比如刚才的语句中的id),你可以随意定义变量名;但是,对于复杂的一个对象来说,比如parameterType=Person,在使用的时候变量名就不能随便写了,必须是属性的名字,比如:
<insert id="insertPerson" parameterType="Person"> insert into person (name,age) values (#{name},#{age}) </insert>
而且,还可以详细定义参数的类型,比如
#{age,javaType=int,jdbcType=NUMERIC,typeHandler=MyTypeHandler}
在这个里面还可以使用mode来制定参数的类型,可选项有IN, OUT 或者 INOUT,如果你使用INOUT的话,那么在方法执行完后,参数的值将会改变。
3. String Substitution ---- 直接把传过来的字符串拿来使用,并不替换为其值
使用#{}的话,将会使用PreparedStatement获取值,但是使用${}的话,将会直接注入这个字符串,并不做任何的修饰。 但是,这样做是不安全的,并不推荐这样来做。这个有可能会导致SQL Injection attack。
相关推荐
本工程为 MyBatis-Plus 的官方示例,项目结构如下: mybatis-plus-sample-quickstart: 快速开始示例 mybatis-plus-sample-quickstart-springmvc: 快速开始...mybatis-plus-sample-execution-analysis: Sql执行分析示例
在MyBatis中,`mybatis-3-config.dtd` 和 `mybatis-3-mapper.dtd` 是两个至关重要的DTD(Document Type Definition)文件,它们定义了MyBatis配置文件和映射文件的结构和规则。 首先,让我们深入了解一下`mybatis-3...
mybatis-generator-config_1_0.dtd文件存在于mybatis-generator-core-1.3.2.jar包中,路径如下org/mybatis/generator/config/xml/mybatis-generator-config_1_0.dtd 可以设置开发工具的dtd配置,配置...
mybatis-plus最新代码生成器项目源码 :mybatis-plus-generator.zip mybatis-plus最新代码生成器项目源码 :mybatis-plus-generator.zip mybatis-plus最新代码生成器项目源码 :mybatis-plus-generator.zip ...
赠送jar包:mybatis-spring-2.0.6.jar; 赠送原API文档:mybatis-spring-2.0.6-javadoc.jar; 赠送源代码:mybatis-spring-2.0.6-sources.jar; 赠送Maven依赖信息文件:mybatis-spring-2.0.6.pom; 包含翻译后的API...
赠送jar包:mybatis-generator-core-1.3.7.jar; 赠送原API文档:mybatis-generator-core-1.3.7-javadoc.jar; 赠送源代码:mybatis-generator-core-1.3.7-sources.jar; 赠送Maven依赖信息文件:mybatis-generator-...
MyBatis-SQL-Dialect是MyBatis框架的一个扩展,主要目的是为了支持不同数据库系统之间的SQL方言差异。MyBatis是一个流行的Java持久层框架,它允许开发者将SQL语句直接集成到XML或Java代码中,提供了灵活的数据访问层...
赠送jar包:mybatis-spring-2.0.0.jar; 赠送原API文档:mybatis-spring-2.0.0-javadoc.jar; 赠送源代码:mybatis-spring-2.0.0-sources.jar; 赠送Maven依赖信息文件:mybatis-spring-2.0.0.pom; 包含翻译后的API...
然后打开eclipse ->Window->prefenrence->XML->XML Catalog->User Specifiled Entreis->Add->Location(此处是你放dtd文件的位置例如:D:\mybatis\mybatis-3-config.dtd)->Key(如果更改config,此处应该是:-//...
开发工具 框架JAR mybatis-spring-1.3.1开发工具 框架JAR mybatis-spring-1.3.1开发工具 框架JAR mybatis-spring-1.3.1开发工具 框架JAR mybatis-spring-1.3.1开发工具 框架JAR mybatis-spring-1.3.1开发工具 框架...
"mybatis-generator-gui" 是一个基于MyBatis框架的可视化工具,主要用于简化数据库映射文件(Mapper文件)的创建过程。MyBatis是一个优秀的Java持久层框架,它支持定制化SQL、存储过程以及高级映射,避免了几乎所有...
mybatis-spring-boot-starter-2.1.3.jarmybatis-spring-boot-starter-2.1.3.jarmybatis-spring-boot-starter-2.1.3.jar
mybatis-plus-boot-starter.jar 各个版本下载, SpringBoot 集成 MybatisPlus jar 包下载, Mybatis-Plus(简称MP)是一个基于MyBatis的增强工具库,它简化了与数据库的交互操作并提供了一系列增强功能,使开发者...
mybatis-plus-extension.jar 各个版本,免费下载。 mybatis-plus 的扩展插件。,各个版本,免费下载。 mybatis 增强工具包的扩展插件,各个版本,免费下载。 下载不了,可关注我,评论区联系我。