MyBatis异常报告: Mapper method ‘com.dao.UserMapper.insert attempted to return null from a method with ……
错误名称:Mapper method 'com.dao.UserMapper.insert attempted to return null from a method with a primitive return type (int).错误出现原因:使用的标签和内容不符。误将insert写为select。表名t_user,实体类TUser,属性id、userName、password。<
·
错误名称:Mapper method 'com.dao.UserMapper.insert attempted to return null from a method with a primitive return type (int).
错误出现原因:使用的标签和内容不符。误将insert写为select。
表名t_user,实体类TUser,属性id、userName、password。
<?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" >
<mapper namespace="com.dao.UserMapper" >
<select id="checkLogin" parameterType="com.pojo.TUser" resultType="TUser" >
select * from t_user where user_name = #{userName} and password = #{password}
</select>
<insert id="insert" parameterType="TUser" >-- insert不用返回值
insert into t_user (user_name,password) values (#{userName} , #{password})
</insert>
<!--id是主键 map更灵活 能获取到就赋值,获取不到就不赋值-->
<resultMap id="userMap" type="com.pojo.TUser">
<id property="id" column="id"></id>
<!--property必须是和数据库中的名字相同的java表示形式,如果是user或者username就会报错-->
<result property="userName" column="user_name"></result>
<result property="password" column="password"></result>
</resultMap>
<!--根据用户名和密码查找全部信息-->
<!--要保证查询到的只有一条,多了会报错,所有要注意数据库中是否存在同名同密码的情况-->
<select id="checkLogin" parameterType="com.pojo.TUser" resultMap="userMap" >
select * from t_user where user_name = #{userName} and password = #{password}
</select>
<!--查询所有的数据并返回一个大表-->
<select id="queryList" parameterType="TUser" resultMap="userMap">
<!--因为定义了别名才能在parameterType里面直接加TUser 正经写数据库的情况下都是sql语句,被动就用java的语言 这个返回的是一个TUser类型的表,List<TUser>-->
select * from t_user where 1 = 1
<if test="userName != null and userName != ''"> and user_name like concat("%",#{userName},"%") </if>
</select>
<!--根据id查找用户-->
<select id="queryUserById" parameterType="Integer" resultMap="userMap">
select * from t_user where id=#{id}
</select>
<!--根据id修改名字和密码-->
<update id="updateUser" parameterType="TUser">
update t_user set user_name = #{userName} , password = #{password} where id = #{id}
</update>
<!--根据id删除数据-->
<delete id="deleteUser" parameterType="Integer">
delete from t_user where id = #{id};
</delete>
</mapper>
更多推荐
已为社区贡献1条内容
所有评论(0)