栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

maven-day03(mybatis的企业开发版)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

maven-day03(mybatis的企业开发版)

1.通过dao层和映射文件的关联完成数据库增删改查

在dao层自定义方法 然后调用自己写的方法完成所有操作

1.1实现过程

(1)在dao层创建接口

public interface UserDao {
    
    public List findAll();
    
    public int addUser(User user);

    
    public User findByNameAndRealName(@Param("username")String username,
                                      @Param("realname")String realname);
    
    public User findById(int id);

    
    public int deleteUser(int id);

    
    public int update(User user);
}

(2)修改之前的映射文件 (UserMapper.xml)





    
    
        insert into tb_user values(null,#{username},#{realname})
    
    
    
    
        select * from tb_user
    

    
    
        select * from tb_user where username=#{username} and realname=#{realname}
    


解释:在参数处使用@Param()为参数起名即可

4 添加一条记录返回其在数据库中真实id

之前的代码添加一条记录后,在控制台输出后发现id为0 所以为了解决这个问题只需要在映射文件中添加 useGeneratedKeys=“true” keyProperty="userid"即可

    
    
        insert into tb_user values(null,#{username},#{realname})
    

5.解决数据库字段名字和实体层名字不一致问题

数据库字段如下:

实体层;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class Student {
    private int id;
    private String stuName;
    private int stuAge;
    private String stuSex;
}

可发现数据库字段与实体层属性不一致
解决方法有两种:
(1) 为查询的列起别名,而别名和属性名一致

(2)使用resultMap完成列和属性之间的映射关系。(推荐)

 
        
        
        
        
    
    

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/943309.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号