-
Notifications
You must be signed in to change notification settings - Fork 122
生成结果
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();
生成代码结果如下:
/**
* 用户表
* <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;
}
}
/**
* 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);
}
/**
* 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);
}
}
/**
* 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";
}
}
}
<?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>