Skip to content

生成结果

GreedyStar edited this page Jun 10, 2020 · 5 revisions

user 表为例,表结构如下:

user(id, name, phone, email),id为主键。

进行单表代码生成,代码如下(代码基于v1.3.0):

Invoker invoker = new SingleInvoker.Builder()
        .setTableName("user")
        .setClassName("User")
        .build();
invoker.execute(); 

生成代码结果如下:

Entity.java

/**
 * 用户表
 * <p>
 * Author GreedyStar
 * Date  2020-06-10
 */
public class User implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * ID
     */
    private int id;
    /**
     * 姓名
     */
    private String name;
    /**
     * 电话号
     */
    private String phone;
    /**
     * 电子邮箱
     */
    private String email;


    public User() {
    }

    public void setId(int id) {
        this.id = id;
    }

    public int getId() {
        return id;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getPhone() {
        return phone;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getEmail() {
        return email;
    }

}

Dao.java

/**
 * Author GreedyStar
 * Date  2020-06-10
 */
@Mapper
@Component
public interface UserDao {

    public User get(String id);

    public List<User> findList(User user);

    public List<User> findAllList();

    public int insert(User user);

    public int insertBatch(List<User> users);

    public int update(User user);

    public int delete(User user);

}

Service.java

/**
 * Author GreedyStar
 * Date  2020-06-10
 */
@Service
public class UserService {
    @Autowired
    private UserDao userDao;
    
    public User get(String id) {
        return userDao.get(id);
    }

    public List<User> findList(User user) {
        return userDao.findList(user);
    }

    public List<User> findAllList() {
        return userDao.findAllList();
    }

    public int insert(User user) {
        return userDao.insert(user);
    }

    public int insertBatch(List<User> users) {
        return userDao.insertBatch(users);
    }

    public int update(User user) {
        return userDao.update(user);
    }

    public int delete(User user) {
        return userDao.delete(user);
    }

}

Controller.java

/**
 * Author GreedyStar
 * Date  2020-06-10
 */
@RestController
@RequestMapping(value = "/user")
public class UserController {
    @Autowired
    private UserService userService;

    @RequestMapping(value = {"/list", ""}, method = RequestMethod.GET)
    public Object list() {
        List<User> users = userService.findAllList();
        return users;
    }

    @RequestMapping(value = {"/get"}, method = RequestMethod.GET)
    public Object get(@RequestParam String id) {
        User user = userService.get(id);
        return user;
    }

    @RequestMapping(value = "/insert", method = RequestMethod.POST)
    public String insert(@RequestBody User user) {
        if (userService.insert(user) > 0) {
            return "success";
        } else {
            return "failed";
        }
    }

    @RequestMapping(value = "/insertBatch", method = RequestMethod.POST)
    public String insertBatch(@RequestBody List<User> users) {
        if (userService.insertBatch(users) > 0) {
            return "success";
        } else {
            return "failed";
        }
    }

    @RequestMapping(value = "/update", method = RequestMethod.POST)
    public String update(@RequestBody User user) {
        if (userService.update(user) > 0) {
            return "success";
        } else {
            return "failed";
        }
    }

    @RequestMapping(value = "/delete", method = RequestMethod.POST)
    public String delete(@RequestBody User user) {
        if (userService.delete(user) > 0) {
            return "success";
        } else {
            return "failed";
        }
    }

}

Mapper.xml

<?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.greedystar.servicerole.dao.UserDao">

    <resultMap id="userResultMap" type="com.greedystar.servicerole.entity.User">
        <id column="id" property="id"/> 
        <result column="name" property="name"/> 
        <result column="phone" property="phone"/> 
        <result column="email" property="email"/>
    </resultMap>

    <sql id="userColumns">
        user.id AS "id",
        user.name AS "name",
        user.phone AS "phone",
        user.email AS "email"
    </sql>

    <sql id="userJoins">
        
    </sql>

    <select id="get" resultMap="userResultMap">
        SELECT
        <include refid="userColumns" />
        FROM user <include refid="userJoins" />
        <where>
        user.id = #{id}
        </where>
    </select>

    <select id="findList" resultMap="userResultMap">
        SELECT
        <include refid="userColumns" />
        FROM user <include refid="userJoins" />
        <where>
        </where>
    </select>

    <select id="findAllList" resultMap="userResultMap">
        SELECT
        <include refid="userColumns" />
        FROM user <include refid="userJoins" />
        <where>
        </where>
    </select>

    <insert id="insert">
        INSERT INTO user(
            id,
            name,
            phone,
            email
        )
        VALUES (
            #{id},
            #{name},
            #{phone},
            #{email}
        )
    </insert>

    <insert id="insertBatch">
        INSERT INTO user(
            id,
            name,
            phone,
            email
        )
        VALUES
        <foreach collection ="list" item="user" separator =",">
        (
            #{user.id},
            #{user.name},
            #{user.phone},
            #{user.email}
        )
        </foreach>
    </insert>

    <update id="update">
        UPDATE user SET
        id = #{id},
        name = #{name},
        phone = #{phone},
        email = #{email}
        WHERE id = #{id}
    </update>

    <update id="delete">
        DELETE FROM user
        WHERE id = #{id}
    </update>

</mapper>