<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPEmapperPUBLIC"-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mappernamespace="org.mybatis.UserMapper"><selectid="getUserList"resultType="org.mybatis.User">
select * from user
</select><selectid="selectUserById"resultType="org.mybatis.User">
select * from User where id = #{id}
</select></mapper>
namespace的包名要和mapper中的一致
id是对应的namespace中的方法名
resultType 返回值类型
parameterType参数类型,基本数据类型可以省略不写
packagecom.kuang.dao;importcom.kuang.pojo.User;importcom.kuang.utils.MybatisUtil;importorg.apache.ibatis.session.SqlSession;importorg.junit.Test;importjava.util.List;publicclassUserDaoTest{@Testpublicvoidtest(){SqlSession sqlSession =MybatisUtil.getSqlSession();UserMapper mapper = sqlSession.getMapper(UserDao.class);//查询所有用户 List<User> userList = mapper.getUserList(); for (User user:userList) { System.out.println(user); } //根据id查询 User user = mapper.selectUserById(1); System.out.println(user); sqlSession.close(); }}1.注意关闭流 2.增删改需要提交事务!
9.map类型的参数的使用方式
@TestpublicvoidaddMap(){SqlSession sqlSession =MybatisUtil.getSqlSession();UserMapper mapper = sqlSession.getMapper(UserMapper.class);//map中值对应sql中参数变量即可,不用和实体类属性名相同;如果参数是实体类,则必须和属性名相同 HashMap<String, Object> map = new HashMap<>(); map.put("userId",7); map.put("userName","shanshan"); map.put("userPWD","33333"); int i = mapper.addMap(map); if(i>0){ System.out.println("插入成功"); } sqlSession.commit(); sqlSession.close(); } <insert id="addMap" parameterType="map" > insert into user (id,name,pwd) values (#{userId},#{userName},#{userPWD}); </insert> 对比实体类类型的参数 <insert id="addUser" parameterType="com.kuang.pojo.User" > insert into mybatis.user(id,name,pwd) values (#{id},#{name},#{pwd}) </insert>
10.模糊查询
@TestpublicvoidlikeSect(){SqlSession sqlSession =MybatisUtil.getSqlSession();UserMapper mapper = sqlSession.getMapper(UserMapper.class);HashMap<String,Object> map =newHashMap<>(); map.put("uName","%sh%");List<User> users = mapper.likeSect(map);for(User user : users){System.out.println(user);} sqlSession.close();}<select id="likeSect" parameterType="map" resultType="com.kuang.pojo.User"> select * from user where name like #{uName}</select>