ce1、环境配置(environments)
2、别名配置
将别名配置放到mybatis.config.xml中,(位置需要放到前面)
<typeAliases>
<typeAlias type="com.entity.User" alias="User"/>
</typeAliases>
或者使用这个
<typeAliases>
<package name="com.entity"/>
</typeAliases>
3、映射器
4、结果级映射
<!--结果集映射-->
<resultMap id="UserMap" type="User">
<!--column数据库中的字段,property实体类中的属性-->
<result column="id" property="id"/>
<result column="name" property="name"/>
<result column="pwd" property="password"/>
</resultMap>
<select id="getUserByid" resultMap="UserMap">
select * from mybatis.user where id =#{id}
<select>
字段一样的就不需要再映射了:id,name
日志,复制上去可能会出错,手敲<settings>
<settings>
<setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>
log4J
导入依赖
<!--log4J-->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.14</version>
</dependency>
<settings>
<setting name="logImpl" value="LOG4J"/>
</settings>
limit分页
接口
public interface UserMapper {
//分页查询
List<User>getUserByLimit(Map<String,Integer>map);
}
<mapper namespace="com.mapper.UserMapper">
<select id="getUserByLimit" resultType="User">
select * from user limit #{startIndex},#{pageSize}
</select>
</mapper>
@Test
public void getUserByLimit(){
SqlSession sqlseesion = MybatisUtils.getSqlseesion();
UserMapper mapper = sqlseesion.getMapper(UserMapper.class);
HashMap<String, Integer> map = new HashMap<String, Integer>();
map.put("startIndex",0);
map.put("pageSize",2);
List<User> limit = mapper.getUserByLimit(map);
for (User user:limit){
System.out.println(user);
}
sqlseesion.close();
}
注解开发
注解写在接口上
注解CRUD
public interface UserMapper {
@Select("select * from user")
List<User> getUsers();
//方法存在多个参数,所有的参数前面必须加上@param("id")
@Select("select * from user where id = #{id}")
User getUserById(@Param("id") int id);
@Insert("insert into user(id,name,pwd) values(#{id},#{name},#{paswword})")
int addUser(User user);
@Update("update user set name=#{name},pwd=#{password} where id=#{id}")
int updateUser(User user);
@Delete("delete from user where id=#{id}")
int deleteUser(@Param("id") int id);
}