这里省略数据库建表得步骤.
Project Construct:
向"pom.xml"文件中加入下面的依赖
<dependency>
<groupId>org.mybatis.generatorgroupId>
<artifactId>mybatis-generator-coreartifactId>
<version>1.3.5version>
dependency>
在项目中添加"mbg.xml",可以随意取名,位置随意,只要在核心Java程序(在下面叫:“MBGTest.java”)中写对这个配置文件的路径就可以.
In the most common use case, MyBatis Generator (MBG) is driven by an XML configuration file. The configuration file tells MBG:
- How to connect to the database
- What objects to generate, and how to generate them
- What tables should be used for object generation
Official Website:http://www.mybatis.org/generator/configreference/xmlconfig.html
<generatorConfiguration>
<context id="DB2Tables" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressAllComments" value="true"/>
commentGenerator>
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/classpie"
userId="root"
password="">
jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
javaTypeResolver>
<javaModelGenerator targetPackage="com.maven.ssm.bean" targetProject=".\src\main\java">
<property name="enableSubPackages" value="true"/>
<property name="trimStrings" value="true"/>
javaModelGenerator>
<sqlMapGenerator targetPackage="mapper" targetProject=".\src\main\resources">
<property name="enableSubPackages" value="true"/>
sqlMapGenerator>
<javaClientGenerator type="XMLMAPPER"
targetPackage="com.maven.ssm.dao" targetProject=".\src\main\java">
<property name="enableSubPackages" value="true"/>
javaClientGenerator>
<table tableName="classinfo" domainObjectName="ClassInfo">table>
<table tableName="userinfo" domainObjectName="UserInfo">table>
context>
generatorConfiguration>
“MBGTest.java”,代码如下,黏贴复制修改一下xml配置文件的路径,没有其他的技术含量.
然后只需要运行一下这个Java程序就成了.
public class MBGTest {
public static void main(String[] args) throws Exception {
List<String> warnings = new ArrayList<String>();
boolean overwrite = true;
File configFile = new File("mbg.xml");
ConfigurationParser cp = new ConfigurationParser(warnings);
Configuration config = cp.parseConfiguration(configFile);
DefaultShellCallback callback = new DefaultShellCallback(overwrite);
MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config,
callback, warnings);
myBatisGenerator.generate(null);
}
}
来看一下运行完的结果,项目发生了哪些变化:
UserInfo.java
package com.maven.ssm.bean; public class UserInfo { private String account; private String phone; private String password; private String name; private String school; private Integer role; private String avatar; public String getAccount() { return account; } public void setAccount(String account) { this.account = account == null ? null : account.trim(); } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone == null ? null : phone.trim(); } public String getPassword() { return password; } public void setPassword(String password) { this.password = password == null ? null : password.trim(); } public String getName() { return name; } public void setName(String name) { this.name = name == null ? null : name.trim(); } public String getSchool() { return school; } public void setSchool(String school) { this.school = school == null ? null : school.trim(); } public Integer getRole() { return role; } public void setRole(Integer role) { this.role = role; } public String getAvatar() { return avatar; } public void setAvatar(String avatar) { this.avatar = avatar == null ? null : avatar.trim(); } }
UserInfoExample.java
package com.maven.ssm.bean; import java.util.ArrayList; import java.util.List; public class UserInfoExample { protected String orderByClause; protected boolean distinct; protected List<Criteria> oredCriteria; public UserInfoExample() { oredCriteria = new ArrayList<Criteria>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List<Criteria> getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List<Criterion> criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<Criterion>(); } public boolean isValid() { return criteria.size() > 0; } public List<Criterion> getAllCriteria() { return criteria; } public List<Criterion> getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andAccountIsNull() { addCriterion("account is null"); return (Criteria) this; } public Criteria andAccountIsNotNull() { addCriterion("account is not null"); return (Criteria) this; } public Criteria andAccountEqualTo(String value) { addCriterion("account =", value, "account"); return (Criteria) this; } public Criteria andAccountNotEqualTo(String value) { addCriterion("account <>", value, "account"); return (Criteria) this; } public Criteria andAccountGreaterThan(String value) { addCriterion("account >", value, "account"); return (Criteria) this; } public Criteria andAccountGreaterThanOrEqualTo(String value) { addCriterion("account >=", value, "account"); return (Criteria) this; } public Criteria andAccountLessThan(String value) { addCriterion("account <", value, "account"); return (Criteria) this; } public Criteria andAccountLessThanOrEqualTo(String value) { addCriterion("account <=", value, "account"); return (Criteria) this; } public Criteria andAccountLike(String value) { addCriterion("account like", value, "account"); return (Criteria) this; } public Criteria andAccountNotLike(String value) { addCriterion("account not like", value, "account"); return (Criteria) this; } public Criteria andAccountIn(List<String> values) { addCriterion("account in", values, "account"); return (Criteria) this; } public Criteria andAccountNotIn(List<String> values) { addCriterion("account not in", values, "account"); return (Criteria) this; } public Criteria andAccountBetween(String value1, String value2) { addCriterion("account between", value1, value2, "account"); return (Criteria) this; } public Criteria andAccountNotBetween(String value1, String value2) { addCriterion("account not between", value1, value2, "account"); return (Criteria) this; } public Criteria andPhoneIsNull() { addCriterion("phone is null"); return (Criteria) this; } public Criteria andPhoneIsNotNull() { addCriterion("phone is not null"); return (Criteria) this; } public Criteria andPhoneEqualTo(String value) { addCriterion("phone =", value, "phone"); return (Criteria) this; } public Criteria andPhoneNotEqualTo(String value) { addCriterion("phone <>", value, "phone"); return (Criteria) this; } public Criteria andPhoneGreaterThan(String value) { addCriterion("phone >", value, "phone"); return (Criteria) this; } public Criteria andPhoneGreaterThanOrEqualTo(String value) { addCriterion("phone >=", value, "phone"); return (Criteria) this; } public Criteria andPhoneLessThan(String value) { addCriterion("phone <", value, "phone"); return (Criteria) this; } public Criteria andPhoneLessThanOrEqualTo(String value) { addCriterion("phone <=", value, "phone"); return (Criteria) this; } public Criteria andPhoneLike(String value) { addCriterion("phone like", value, "phone"); return (Criteria) this; } public Criteria andPhoneNotLike(String value) { addCriterion("phone not like", value, "phone"); return (Criteria) this; } public Criteria andPhoneIn(List<String> values) { addCriterion("phone in", values, "phone"); return (Criteria) this; } public Criteria andPhoneNotIn(List<String> values) { addCriterion("phone not in", values, "phone"); return (Criteria) this; } public Criteria andPhoneBetween(String value1, String value2) { addCriterion("phone between", value1, value2, "phone"); return (Criteria) this; } public Criteria andPhoneNotBetween(String value1, String value2) { addCriterion("phone not between", value1, value2, "phone"); return (Criteria) this; } public Criteria andPasswordIsNull() { addCriterion("password is null"); return (Criteria) this; } public Criteria andPasswordIsNotNull() { addCriterion("password is not null"); return (Criteria) this; } public Criteria andPasswordEqualTo(String value) { addCriterion("password =", value, "password"); return (Criteria) this; } public Criteria andPasswordNotEqualTo(String value) { addCriterion("password <>", value, "password"); return (Criteria) this; } public Criteria andPasswordGreaterThan(String value) { addCriterion("password >", value, "password"); return (Criteria) this; } public Criteria andPasswordGreaterThanOrEqualTo(String value) { addCriterion("password >=", value, "password"); return (Criteria) this; } public Criteria andPasswordLessThan(String value) { addCriterion("password <", value, "password"); return (Criteria) this; } public Criteria andPasswordLessThanOrEqualTo(String value) { addCriterion("password <=", value, "password"); return (Criteria) this; } public Criteria andPasswordLike(String value) { addCriterion("password like", value, "password"); return (Criteria) this; } public Criteria andPasswordNotLike(String value) { addCriterion("password not like", value, "password"); return (Criteria) this; } public Criteria andPasswordIn(List<String> values) { addCriterion("password in", values, "password"); return (Criteria) this; } public Criteria andPasswordNotIn(List<String> values) { addCriterion("password not in", values, "password"); return (Criteria) this; } public Criteria andPasswordBetween(String value1, String value2) { addCriterion("password between", value1, value2, "password"); return (Criteria) this; } public Criteria andPasswordNotBetween(String value1, String value2) { addCriterion("password not between", value1, value2, "password"); return (Criteria) this; } public Criteria andNameIsNull() { addCriterion("name is null"); return (Criteria) this; } public Criteria andNameIsNotNull() { addCriterion("name is not null"); return (Criteria) this; } public Criteria andNameEqualTo(String value) { addCriterion("name =", value, "name"); return (Criteria) this; } public Criteria andNameNotEqualTo(String value) { addCriterion("name <>", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThan(String value) { addCriterion("name >", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThanOrEqualTo(String value) { addCriterion("name >=", value, "name"); return (Criteria) this; } public Criteria andNameLessThan(String value) { addCriterion("name <", value, "name"); return (Criteria) this; } public Criteria andNameLessThanOrEqualTo(String value) { addCriterion("name <=", value, "name"); return (Criteria) this; } public Criteria andNameLike(String value) { addCriterion("name like", value, "name"); return (Criteria) this; } public Criteria andNameNotLike(String value) { addCriterion("name not like", value, "name"); return (Criteria) this; } public Criteria andNameIn(List<String> values) { addCriterion("name in", values, "name"); return (Criteria) this; } public Criteria andNameNotIn(List<String> values) { addCriterion("name not in", values, "name"); return (Criteria) this; } public Criteria andNameBetween(String value1, String value2) { addCriterion("name between", value1, value2, "name"); return (Criteria) this; } public Criteria andNameNotBetween(String value1, String value2) { addCriterion("name not between", value1, value2, "name"); return (Criteria) this; } public Criteria andSchoolIsNull() { addCriterion("school is null"); return (Criteria) this; } public Criteria andSchoolIsNotNull() { addCriterion("school is not null"); return (Criteria) this; } public Criteria andSchoolEqualTo(String value) { addCriterion("school =", value, "school"); return (Criteria) this; } public Criteria andSchoolNotEqualTo(String value) { addCriterion("school <>", value, "school"); return (Criteria) this; } public Criteria andSchoolGreaterThan(String value) { addCriterion("school >", value, "school"); return (Criteria) this; } public Criteria andSchoolGreaterThanOrEqualTo(String value) { addCriterion("school >=", value, "school"); return (Criteria) this; } public Criteria andSchoolLessThan(String value) { addCriterion("school <", value, "school"); return (Criteria) this; } public Criteria andSchoolLessThanOrEqualTo(String value) { addCriterion("school <=", value, "school"); return (Criteria) this; } public Criteria andSchoolLike(String value) { addCriterion("school like", value, "school"); return (Criteria) this; } public Criteria andSchoolNotLike(String value) { addCriterion("school not like", value, "school"); return (Criteria) this; } public Criteria andSchoolIn(List<String> values) { addCriterion("school in", values, "school"); return (Criteria) this; } public Criteria andSchoolNotIn(List<String> values) { addCriterion("school not in", values, "school"); return (Criteria) this; } public Criteria andSchoolBetween(String value1, String value2) { addCriterion("school between", value1, value2, "school"); return (Criteria) this; } public Criteria andSchoolNotBetween(String value1, String value2) { addCriterion("school not between", value1, value2, "school"); return (Criteria) this; } public Criteria andRoleIsNull() { addCriterion("role is null"); return (Criteria) this; } public Criteria andRoleIsNotNull() { addCriterion("role is not null"); return (Criteria) this; } public Criteria andRoleEqualTo(Integer value) { addCriterion("role =", value, "role"); return (Criteria) this; } public Criteria andRoleNotEqualTo(Integer value) { addCriterion("role <>", value, "role"); return (Criteria) this; } public Criteria andRoleGreaterThan(Integer value) { addCriterion("role >", value, "role"); return (Criteria) this; } public Criteria andRoleGreaterThanOrEqualTo(Integer value) { addCriterion("role >=", value, "role"); return (Criteria) this; } public Criteria andRoleLessThan(Integer value) { addCriterion("role <", value, "role"); return (Criteria) this; } public Criteria andRoleLessThanOrEqualTo(Integer value) { addCriterion("role <=", value, "role"); return (Criteria) this; } public Criteria andRoleIn(List<Integer> values) { addCriterion("role in", values, "role"); return (Criteria) this; } public Criteria andRoleNotIn(List<Integer> values) { addCriterion("role not in", values, "role"); return (Criteria) this; } public Criteria andRoleBetween(Integer value1, Integer value2) { addCriterion("role between", value1, value2, "role"); return (Criteria) this; } public Criteria andRoleNotBetween(Integer value1, Integer value2) { addCriterion("role not between", value1, value2, "role"); return (Criteria) this; } public Criteria andAvatarIsNull() { addCriterion("avatar is null"); return (Criteria) this; } public Criteria andAvatarIsNotNull() { addCriterion("avatar is not null"); return (Criteria) this; } public Criteria andAvatarEqualTo(String value) { addCriterion("avatar =", value, "avatar"); return (Criteria) this; } public Criteria andAvatarNotEqualTo(String value) { addCriterion("avatar <>", value, "avatar"); return (Criteria) this; } public Criteria andAvatarGreaterThan(String value) { addCriterion("avatar >", value, "avatar"); return (Criteria) this; } public Criteria andAvatarGreaterThanOrEqualTo(String value) { addCriterion("avatar >=", value, "avatar"); return (Criteria) this; } public Criteria andAvatarLessThan(String value) { addCriterion("avatar <", value, "avatar"); return (Criteria) this; } public Criteria andAvatarLessThanOrEqualTo(String value) { addCriterion("avatar <=", value, "avatar"); return (Criteria) this; } public Criteria andAvatarLike(String value) { addCriterion("avatar like", value, "avatar"); return (Criteria) this; } public Criteria andAvatarNotLike(String value) { addCriterion("avatar not like", value, "avatar"); return (Criteria) this; } public Criteria andAvatarIn(List<String> values) { addCriterion("avatar in", values, "avatar"); return (Criteria) this; } public Criteria andAvatarNotIn(List<String> values) { addCriterion("avatar not in", values, "avatar"); return (Criteria) this; } public Criteria andAvatarBetween(String value1, String value2) { addCriterion("avatar between", value1, value2, "avatar"); return (Criteria) this; } public Criteria andAvatarNotBetween(String value1, String value2) { addCriterion("avatar not between", value1, value2, "avatar"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List<?>) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } }
UserInfoMapper.java
package com.maven.ssm.dao; import com.maven.ssm.bean.UserInfo; import com.maven.ssm.bean.UserInfoExample; import org.apache.ibatis.annotations.Param; import java.util.List; public interface UserInfoMapper { long countByExample(UserInfoExample example); int deleteByExample(UserInfoExample example); int deleteByPrimaryKey(String account); int insert(UserInfo record); int insertSelective(UserInfo record); List<UserInfo> selectByExample(UserInfoExample example); UserInfo selectByPrimaryKey(String account); int updateByExampleSelective(@Param("record") UserInfo record, @Param("example") UserInfoExample example); int updateByExample(@Param("record") UserInfo record, @Param("example") UserInfoExample example); int updateByPrimaryKeySelective(UserInfo record); int updateByPrimaryKey(UserInfo record); }
UserInfoMapper.xml
<mapper namespace="com.maven.ssm.dao.UserInfoMapper"> <resultMap id="BaseResultMap" type="com.maven.ssm.bean.UserInfo"> <id column="account" jdbcType="VARCHAR" property="account" /> <result column="phone" jdbcType="VARCHAR" property="phone" /> <result column="password" jdbcType="VARCHAR" property="password" /> <result column="name" jdbcType="VARCHAR" property="name" /> <result column="school" jdbcType="VARCHAR" property="school" /> <result column="role" jdbcType="INTEGER" property="role" /> <result column="avatar" jdbcType="VARCHAR" property="avatar" /> resultMap> <sql id="Example_Where_Clause"> <where> <foreach collection="oredCriteria" item="criteria" separator="or"> <if test="criteria.valid"> <trim prefix="(" prefixOverrides="and" suffix=")"> <foreach collection="criteria.criteria" item="criterion"> <choose> <when test="criterion.noValue"> and ${criterion.condition} when> <when test="criterion.singleValue"> and ${criterion.condition} #{criterion.value} when> <when test="criterion.betweenValue"> and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} when> <when test="criterion.listValue"> and ${criterion.condition} <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=","> #{listItem} foreach> when> choose> foreach> trim> if> foreach> where> sql> <sql id="Update_By_Example_Where_Clause"> <where> <foreach collection="example.oredCriteria" item="criteria" separator="or"> <if test="criteria.valid"> <trim prefix="(" prefixOverrides="and" suffix=")"> <foreach collection="criteria.criteria" item="criterion"> <choose> <when test="criterion.noValue"> and ${criterion.condition} when> <when test="criterion.singleValue"> and ${criterion.condition} #{criterion.value} when> <when test="criterion.betweenValue"> and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} when> <when test="criterion.listValue"> and ${criterion.condition} <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=","> #{listItem} foreach> when> choose> foreach> trim> if> foreach> where> sql> <sql id="Base_Column_List"> account, phone, password, name, school, role, avatar sql> <select id="selectByExample" parameterType="com.maven.ssm.bean.UserInfoExample" resultMap="BaseResultMap"> select <if test="distinct"> distinct if> <include refid="Base_Column_List" /> from userinfo <if test="_parameter != null"> <include refid="Example_Where_Clause" /> if> <if test="orderByClause != null"> order by ${orderByClause} if> select> <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap"> select <include refid="Base_Column_List" /> from userinfo where account = #{account,jdbcType=VARCHAR} select> <delete id="deleteByPrimaryKey" parameterType="java.lang.String"> delete from userinfo where account = #{account,jdbcType=VARCHAR} delete> <delete id="deleteByExample" parameterType="com.maven.ssm.bean.UserInfoExample"> delete from userinfo <if test="_parameter != null"> <include refid="Example_Where_Clause" /> if> delete> <insert id="insert" parameterType="com.maven.ssm.bean.UserInfo"> insert into userinfo (account, phone, password, name, school, role, avatar) values (#{account,jdbcType=VARCHAR}, #{phone,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, #{school,jdbcType=VARCHAR}, #{role,jdbcType=INTEGER}, #{avatar,jdbcType=VARCHAR}) insert> <insert id="insertSelective" parameterType="com.maven.ssm.bean.UserInfo"> insert into userinfo <trim prefix="(" suffix=")" suffixOverrides=","> <if test="account != null"> account, if> <if test="phone != null"> phone, if> <if test="password != null"> password, if> <if test="name != null"> name, if> <if test="school != null"> school, if> <if test="role != null"> role, if> <if test="avatar != null"> avatar, if> trim> <trim prefix="values (" suffix=")" suffixOverrides=","> <if test="account != null"> #{account,jdbcType=VARCHAR}, if> <if test="phone != null"> #{phone,jdbcType=VARCHAR}, if> <if test="password != null"> #{password,jdbcType=VARCHAR}, if> <if test="name != null"> #{name,jdbcType=VARCHAR}, if> <if test="school != null"> #{school,jdbcType=VARCHAR}, if> <if test="role != null"> #{role,jdbcType=INTEGER}, if> <if test="avatar != null"> #{avatar,jdbcType=VARCHAR}, if> trim> insert> <select id="countByExample" parameterType="com.maven.ssm.bean.UserInfoExample" resultType="java.lang.Long"> select count(*) from userinfo <if test="_parameter != null"> <include refid="Example_Where_Clause" /> if> select> <update id="updateByExampleSelective" parameterType="map"> update userinfo <set> <if test="record.account != null"> account = #{record.account,jdbcType=VARCHAR}, if> <if test="record.phone != null"> phone = #{record.phone,jdbcType=VARCHAR}, if> <if test="record.password != null"> password = #{record.password,jdbcType=VARCHAR}, if> <if test="record.name != null"> name = #{record.name,jdbcType=VARCHAR}, if> <if test="record.school != null"> school = #{record.school,jdbcType=VARCHAR}, if> <if test="record.role != null"> role = #{record.role,jdbcType=INTEGER}, if> <if test="record.avatar != null"> avatar = #{record.avatar,jdbcType=VARCHAR}, if> set> <if test="_parameter != null"> <include refid="Update_By_Example_Where_Clause" /> if> update> <update id="updateByExample" parameterType="map"> update userinfo set account = #{record.account,jdbcType=VARCHAR}, phone = #{record.phone,jdbcType=VARCHAR}, password = #{record.password,jdbcType=VARCHAR}, name = #{record.name,jdbcType=VARCHAR}, school = #{record.school,jdbcType=VARCHAR}, role = #{record.role,jdbcType=INTEGER}, avatar = #{record.avatar,jdbcType=VARCHAR} <if test="_parameter != null"> <include refid="Update_By_Example_Where_Clause" /> if> update> <update id="updateByPrimaryKeySelective" parameterType="com.maven.ssm.bean.UserInfo"> update userinfo <set> <if test="phone != null"> phone = #{phone,jdbcType=VARCHAR}, if> <if test="password != null"> password = #{password,jdbcType=VARCHAR}, if> <if test="name != null"> name = #{name,jdbcType=VARCHAR}, if> <if test="school != null"> school = #{school,jdbcType=VARCHAR}, if> <if test="role != null"> role = #{role,jdbcType=INTEGER}, if> <if test="avatar != null"> avatar = #{avatar,jdbcType=VARCHAR}, if> set> where account = #{account,jdbcType=VARCHAR} update> <update id="updateByPrimaryKey" parameterType="com.maven.ssm.bean.UserInfo"> update userinfo set phone = #{phone,jdbcType=VARCHAR}, password = #{password,jdbcType=VARCHAR}, name = #{name,jdbcType=VARCHAR}, school = #{school,jdbcType=VARCHAR}, role = #{role,jdbcType=INTEGER}, avatar = #{avatar,jdbcType=VARCHAR} where account = #{account,jdbcType=VARCHAR} update> mapper>
现在,测试一下看看xml实现文件是否可用,这里用插入一条数据才判断
测试之前,先记录一下数据库
在com.maven.ssm.test包下创建MapperTest.java文件,代码如下:
package com.maven.ssm.test; import com.maven.ssm.bean.UserInfo; import com.maven.ssm.dao.UserInfoMapper; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {"classpath:applicationContext.xml"}) public class MapperTest { @Autowired UserInfoMapper userInfoMapper; @Test public void insertUserTest(){ UserInfo userInfo = new UserInfo(); userInfo.setAccount("11111111"); userInfo.setPhone("15668055238"); userInfo.setPassword("q123123"); userInfo.setName("TestName"); userInfo.setSchool("JustGuess"); userInfo.setRole(0); int result = userInfoMapper.insertSelective(userInfo); if (result>0){ System.out.println("insert user success!"); } else { System.out.println("insert user failed!"); } } }
运行结果如下:
1.控制台输出结果:
2.数据库表中数据的变化:
有问题请在留言中给出
That’s all,thank you.