一个ssm项目只给了映射文件,需要我创建数据库,但是有些问题,

controller取不到数据库的值,方法里写了打印输出语句输出为空,想让各位看下表是否有问题。

一共四个映射文件

admin_info表

<?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.digital.dao.AdminInfoDAO">
  <select id="getAdminInfoByCond" 
          parameterType="com.digital.pojo.AdminInfo" 
          resultType="com.digital.pojo.AdminInfo">
        select * from admin_info where name=#{name} and pwd=#{pwd} 
  </select>
  <select id="getAdminInfoFunctions" parameterType="int" resultMap="getAdminInfoFunctionsMap">
        select ai.id,ai.name,f.id fuid,f.name fname,f.parentid fpid,f.isleaf fisleaf,f.nodeorder fno from admin_info ai left join powers p on ai.id=p.aid join functions f on p.fid=f.id where ai.id=#{id} ORDER BY fpid
  </select>
  <resultMap type="com.digital.pojo.AdminInfo" id="getAdminInfoFunctionsMap">
           <id property="id" column="id"/>
           <result property="name" column="name"/>
           <collection property="fs" ofType="com.digital.pojo.Functions">
             <id property="id" column="fuid"/>
             <result property="name" column="fname"/>
             <result property="parentid" column="fpid"/>
             <result property="isleaf" column="fisleaf"/>
           </collection>
  </resultMap>
  <select id="getAllAdminInfo"  resultType="com.digital.pojo.Functions">
        select * from admin_info
  </select>
  <select id="getAdminById" parameterType="int" resultType="com.digital.pojo.AdminInfo">
        select * from admin_info(name,pwd,role) values(#{name},#{pwd},#{role})
  </select>
</mapper>

图片说明

functions表

<?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.digital.dao.FunctionsDAO">
  <select id="getAllFunctions" resultType="com.digital.pojo.Functions">
        select * from functions
  </select>
</mapper>

图片说明

powers表

<?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.digital.dao.PowersDAO">
  <select id="delPowersByAdminid" parameterType="int">
        delete from Powers where aid=#{aid}
  </select>
  <!-- 保存管理员和系统功能之间的关联关系信息 -->
  <insert id="addPowers" parameterType="java.util.Map">
         insert into powers(aid,fid) values(#{aid},#{fid})
  </insert>
</mapper>

图片说明

user_info 表

<?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.digital.dao.UserInfoDAO">
  <select id="getUserInfoByCond" parameterType="com.digital.pojo.UserInfo" resultType="com.digital.pojo.UserInfo">
        select * from user_info where userName=#{userName} and password=#{password} 
  </select>
  <select id="getUserListByPage" parameterType="java.util.Map" resultType="com.digital.pojo.UserInfo">
        <if test="userName!=null and userName!=''">
          select * from user_info where userName LIKE CONCAT(CONCAT('%',#{userName}),'%') limt #{start},#{limt}
        </if>
        <if test="userName==null or userName==''">
          select * from user_info where limt #{start},#{limt}
        </if>
  </select>
  <select id="getAllUser" parameterType="String" resultType="com.digital.pojo.UserInfo">
        <if test="_parameter!=null and _parameter!=''">
          select * from user_info where userName LIKE CONCAT(CONCAT('%',#{_parameter}),'%')
        </if>
        <if test="userName==null or userName==''">
          select * from user_info 
        </if>
  </select>
  <select id="updateUserStatus" parameterType="java.util.Map">
        <if test="flag==0">
          upadate user_info set status=0 where id in
        </if>
        <if test="flag==1">
          update user_info set status=1 where id in
        </if>
        <foreach item="item" index="index" collection="ids" open="(" separator="," close=")">
          #{item}
        </foreach>
  </select>
</mapper>

图片说明

这是mybatis的配置

<!-- 配置mybatis工厂 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 注入数据源 -->
  <property name="dataSource" ref="dataSource"/>
  <!-- 指定mybatis映射文件位置 -->
  <property name="mapperLocations" value="classpath*:com/digital/mapping/*Mapper.xml"/>
    </bean>

<!--配置MapperScannerConfigurer,DAO接口所在包名,Spring会自动查找其下的类 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
  <property name="basePackage" value="com.digital.dao"/>
  <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
</bean>

配置文件所在的包
图片说明
项目的部分目录

图片说明

qq_42266179
sysoalt/baba 这个问题的报错就是因为我取到的值为空,所以我才来问这个问题的。。。
6 个月之前 回复
qq_42266179
sysoalt/baba 那个部分jsp代码和后段代码在,https://ask.csdn.net/questions/757444麻烦各位了
6 个月之前 回复

1个回答

图片说明
原因是数据库表与实体类没映射到,要么是mapper扫描配置有问题,要么是实体类相关注解缺失,检查一下实体类吧,建数据库表为什么要根据mapper来建呢,肯定是根据实体类啊,别给我说没有实体类,然后你也没建实体类。。

qq_42266179
sysoalt/baba 回复Cyansnow: QAQ我知道。。。这个项目已经大致写完的了,就是jsp页面没有显示数据,暂时感觉是数据库的问题
6 个月之前 回复
Cyansnow
Cyansnow 回复sysoalt/baba: 那只是Mapper文件,不是实体类,类,class类,没有的话你建一下
6 个月之前 回复
qq_42266179
sysoalt/baba 可是实体类看不到表的列名...配置文件和方法入口我现在贴出来,帮我看一下吧,谢谢
6 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!