mybatis搭建过程:
1.导入jar
2.创建mybatis的核心(全局)配置文件mybatis-config.xml,并配置
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 数据库连接环境的配置 -->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/mybatis_1129" />
<property name="username" value="root" />
<property name="password" value="1234" />
</dataSource>
</environment>
</environments>
<!-- 引入SQL映射文件,Mapper映射文件 -->
<mappers>
<mapper resource="EmployeeMapper.xml" />
</mappers>
</configuration>
3.创建映射文件XXXmapper.xml ,并配置
(1)接口全限定名要和映射文件的namespace保持一致
(2)接口中方法名和SQL语句的id保持一致
4.创建mapper接口,实现两个绑定
5.获取mybatis操作数据库的会话对象SqlSession,通过getSession方法获取接口动态代理实现类
6.测试
mybatis获取参数值的两种方式
KaTeX parse error: Expected 'EOF', got '#' at position 53: …sql,必须注意单引号问题) #̲{}:PreparedStat…{},例如模糊查询和批量删除
不同的参数类型,${}和#{}的不同取值方式
1.当传输单个String或者是其他基本数据类型和其包装类
#{}:可以以任意的名字获取参数值
:
只
能
以
{}:只能以
:只能以{value}或者${_parameter}获取
2.当参数类型是javabean时
#{}和
都
可
以
使
用
属
性
名
获
取
属
性
值
,
但
是
要
注
意
{}都可以使用属性名获取属性值,但是要注意
都可以使用属性名获取属性值,但是要注意{}的单引号问题
3.当传输多个参数时,mybatis默认将参数放在map集合中
两种方式:
(1)键为0,1,2…n-1,以参数为值
(2)键为param1,parame2,parame3…parame(n),以参数为值
#{}:#{0},#{1};#{param1},#{param2}
KaTeX parse error: Expected 'EOF', got '#' at position 4: {}:#̲{param1},#{para…{}的单引号问题
4.当传输Map参数时
#{}和
都
可
以
通
过
键
的
名
字
直
接
获
值
,
但
是
要
注
意
{}都可以通过键的名字直接获值,但是要注意
都可以通过键的名字直接获值,但是要注意{}的单引号问题
5.命名参数
可以通过@Param(“key”)为Map集合指定键的名字
6.当传输参数为List或者Array时
mybatis会将List或者Array放在Map中,List以list为键,Array以array为键