MyBatis------CURD

CURD

1.namespace

namespace中的包名要和mapper 接口的包名一致!

<?xml version="1.0" encoding="UTF-8" ?>
        <!DOCTYPE mapper
                PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!-- 原来我们都是编写具体的执行sql -->
<mapper namespace="com.yang.mapper.UserMapper">
</mapper>

2.select

选择,查询语句;

  • id : 就是对应的namespace中的方法名;

  • resultType:Sql语句执行的返回值!

  • parameterType : 参数类型!

  • 1.编写接口,如果多个参数查询,需加注解

User selectById(int id);
User selectByUsernamePwd(@Param("username")String username,@Param("pwd")String pwd);
  • 2.编写对应的mapper中的sql语句
<select id="getUserList" resultType="com.yang.pojo.User">
        select * from user;
     </select>

 <select id="selectByUsernamePwd" resultType="com.yang.pojo.User">
        select * from user where name=#{username} and pwd =#{pwd}
    </select>

  • 3.测试
SqlSession session = MyBatisUtils.getSession();
UserMapper mapper = session.getMapper(UserMapper.class);

底下用mapper调方法

增删改,测试时需要提交事务

  • 1.Insert
<insert id="addUser" parameterType="com.yang.pojo.User">
        insert into user (id,`name`,pwd) values (#{id},#{name},#{pwd});
    </insert>
  • 2.update
<update id="updateUser" parameterType="com.yang.pojo.User">
        update `user` set `name` =#{name},pwd=#{pwd} where id=#{id};
    </update>
  • 3.Delete
<delete id="deleteByID" parameterType="com.yang.pojo.User">
        delete from user where id = #{id};
    </delete>

4.错误分析

  • resource 绑定mapper,需要使用路径!
  • 程序配置文件必须符合规范!
  • NullPointerException,没有注册到资源!
  • 输出的xml文件中存在中文乱码问题!
  • maven资源没有导出问题!
发布了80 篇原创文章 · 获赞 7 · 访问量 4761

猜你喜欢

转载自blog.csdn.net/y18791050779/article/details/104975520