1. 标签
功能:用于在mybatis文件中 加载properties文件
<!-- properties 加载外部文件 -->
<properties resource="db.properties"></properties>
获取properties文件,通过${} 的方式获取
<dataSource type="pooled">
<property name="driver" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
2.标签
功能:在mybatis文件中用于给java类型定义别名,方便在配置文件中使用
<!-- typeAliases给类名取别名 -->
<typeAliases>
<typeAlias type="com.bjsxt.pojo.User"/>
typeAlias中, 可以省略 alias 属性, 表示类别名为类名, 大小写不敏感
<!--等价于
<typeAlias type="com.bjsxt.pojo.User" alias="User"></typeAlias>
-->
<package name="com.bjsxt.pojo"/>可以通过给整个包下的所有类定义别名为类名
</typeAliases>
命名空间中使用:
select * from t_user
3.带参数的查询
<!-- parameterType,参数类型,用于参数的传递 -->
<select id="selById" resultType="user" parameterType="int">
<!--
#{}用于使用参数 从0开始
index,索引
param+数字===> param1,param2
-->
select * from t_user where id=#{写什么无所谓}
</select>
如果执行的是条件查询, 需要在调用方法时传参数进来, 此时, 可以在 select 标签中通过 parameterType 属性指定参数的类型. 而在 SQL 语句中, 可以通过#{}的方式获取参数.
3.1.1 一个参数的查询
例如, 根据 id 查询用户信息. 当只有一个参数时, #{}中可以任意填写.
select * from t_user where id=#{写什么无所谓}
User user = session.selectOne(“com.bjsxt.mapper.UserMapper.selById”,2);
3.1.2 多个参数的查询
多个参数传递时, 由于 sqlSession 中提供的查询方法只允许传入一个参数, 因此可以对多个参数进行封装. 可以使对象或 Map 集合.
1.当为对象时
//封装对象时
User u = new User();
u.setUsername(“lisi”);
u.setPassword(“123”);
2…当为Map集合时
select * from t_user where username=#{uname} and password=#{upwd}
select * from t_user where username=#{uname} and password=#{upwd}
//封装map集合
Map<String,String> map=new HashMap<>();
map.put(“uname”, “lisi”);
map.put(“upwd”, “123”);
User user = session.selectOne(“com.bjsxt.mapper.UserMapper.sel”,map);