千家信息网

IDEA 中生成 MyBatis 逆向工程实践

发表于:2024-09-30 作者:千家信息网编辑
千家信息网最后更新 2024年09月30日,1.搭建 MyBatis Generator 插件环境a. 添加插件依赖 pom.xml
千家信息网最后更新 2024年09月30日IDEA 中生成 MyBatis 逆向工程实践

1.搭建 MyBatis Generator 插件环境

a. 添加插件依赖 pom.xml

                                      org.mybatis.generator                mybatis-generator-maven-plugin                1.3.2                                    src/main/resources/generatorConfig.xml                    true                    true                                                                            Generate MyBatis Artifacts                                                                                                org.mybatis.generator                        mybatis-generator-core                        1.3.2                                                

b.配置文件 generatorConfig.xml

                                                                                                                                                                                                                                                                                                                     

c.数据库配置文件 jdbc.properties

jdbc_driverLocation=D:\\Program Files\\Repository\\mysql\\mysql-connector-java\\5.1.38\\mysql-connector-java-5.1.38.jarjdbc_driverClass=com.mysql.jdbc.Driverjdbc_url=jdbc:mysql://localhost:3306/db_test?useUnicode=true&characterEncoding=utf-8jdbc_user=rootjdbc_pwd=123456validationQuery = select 1

d. 配置插件启动项

回到顶部

2.项目实战

User类就是普通的实体类,定义了数据库对应的字段,以及set/get方法

Mybatis 引入了 Example 类,用来封装数据库查询条件。

a.比如在一个项目 我们要删除某个小组下某个用户的信息

    public int deleteUserApplyInfo(long user_id,long team_id){        StudyTeamUserApplyInfoExample ue = new StudyTeamUserApplyInfoExample();        ue.createCriteria().andUserIdEqualTo(new BigDecimal(user_id)).andTeamIdEqualTo(new BigDecimal(team_id));        return studyTeamUserApplyInfoDAO.deleteByExample(ue);    }

2.根据小组ID(非主键 更新小组信息)

   public int updateStudyTeamInfo(StudyTeamInfo st){        StudyTeamInfoExample ste = new StudyTeamInfoExample();        ste.createCriteria().andTeamIdEqualTo(st.getTeamId());        return studyTeamInfoDAO.updateByExampleSelective(st,ste);    }

3.(1)模糊查询并且排序 (2)大于等于某个分数 并且小于某个分数的查询

public List getStudyTeamInfoByName(String team_name){        StudyTeamInfoExample se = new StudyTeamInfoExample();        se.createCriteria().andTeamNameLike("%"+team_name+"%").andEnableEqualTo((short)1);        se.setOrderByClause("team_score desc");        List ls = studyTeamInfoDAO.selectByExample(se);        if(ls!=null&&ls.size()>0){            return ls;        }        return null;    }

public StudyTeamLevel getStudyTeamLevel(long score){        StudyTeamLevelExample le = new StudyTeamLevelExample();        le.createCriteria().andNeedScoreLessThanOrEqualTo(score).andUpScoreGreaterThan(score);        List ls = studyTeamLevelDAO.selectByExample(le);        if(ls!=null&&ls.size()>0){            return ls.get(0);        }        return null;    }


0