JeecgBoot是一款基于Spring Boot的快速开发平台,它提供了丰富的功能模块,可以帮助开发者快速构建中后台系统。对于新手来说,了解并掌握JeecgBoot的基本用法和常用代码示例是快速上手的关键。以下是50个新手必看的实用代码示例解析,帮助大家更好地掌握JeecgBoot。
1. 创建Spring Boot项目
首先,使用JeecgBoot创建一个Spring Boot项目,可以通过以下代码完成:
String projectPath = "D:\\jeecg-boot\\";
String projectName = "my-jeecg-boot";
String[] args = new String[] {projectPath, projectName, "my-jeecg-boot", "com.mycompany.myjeecgboot"};
new Generator().generate(args);
这里,projectPath 是项目存放的路径,projectName 是项目名称,args 数组包含了创建项目所需的信息。
2. 配置数据库连接
在application.properties文件中配置数据库连接信息:
spring.datasource.url=jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=utf8&useSSL=false
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
这里,spring.datasource.url 是数据库连接地址,spring.datasource.username 和 spring.datasource.password 分别是数据库用户名和密码。
3. 创建实体类
创建一个实体类User,用于表示用户信息:
@Entity
@Table(name = "t_user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private String password;
// 省略其他属性和方法
}
这里,@Entity 注解表示这是一个实体类,@Table 注解指定了数据库表名,@Id 和 @GeneratedValue 注解表示主键自增。
4. 创建数据访问接口
创建一个数据访问接口UserMapper,用于操作用户数据:
@Mapper
public interface UserMapper {
List<User> selectAll();
User selectById(Long id);
// 省略其他方法
}
这里,@Mapper 注解表示这是一个MyBatis Mapper接口。
5. 创建业务服务类
创建一个业务服务类UserService,用于处理用户业务:
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public List<User> getAllUsers() {
return userMapper.selectAll();
}
public User getUserById(Long id) {
return userMapper.selectById(id);
}
// 省略其他方法
}
这里,@Service 注解表示这是一个业务服务类,@Autowired 注解用于注入数据访问接口。
6. 创建控制器
创建一个控制器UserController,用于处理用户相关的HTTP请求:
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/list")
public ResponseEntity<List<User>> list() {
List<User> users = userService.getAllUsers();
return ResponseEntity.ok(users);
}
@GetMapping("/get/{id}")
public ResponseEntity<User> get(@PathVariable Long id) {
User user = userService.getUserById(id);
return ResponseEntity.ok(user);
}
// 省略其他方法
}
这里,@RestController 注解表示这是一个控制器,@RequestMapping 注解用于指定请求路径,@GetMapping 注解用于处理GET请求。
7. 创建前端页面
创建一个前端页面user.html,用于展示用户列表:
<!DOCTYPE html>
<html>
<head>
<title>User List</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.0/dist/css/bootstrap.min.css">
</head>
<body>
<div class="container">
<h2>User List</h2>
<table class="table">
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>Password</th>
</tr>
</thead>
<tbody>
<tr th:each="user : ${users}">
<td th:text="${user.id}"></td>
<td th:text="${user.name}"></td>
<td th:text="${user.password}"></td>
</tr>
</tbody>
</table>
</div>
</body>
</html>
这里,使用Thymeleaf模板引擎进行页面渲染,th:each 注解用于遍历用户列表。
8. 创建启动类
创建一个启动类Application,用于启动Spring Boot应用:
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
这里,@SpringBootApplication 注解表示这是一个Spring Boot应用,main 方法用于启动应用。
9. 部署应用
将Spring Boot应用打包成可执行的JAR文件,并部署到服务器或容器中。
10. 常用代码示例
以下是一些常用的代码示例,供大家参考:
- 获取当前用户信息:
SecurityContextHolder.getContext().getAuthentication().getPrincipal().toString() - 获取当前用户ID:
((User)SecurityContextHolder.getContext().getAuthentication().getPrincipal()).getId() - 查询列表:
List<T> list = baseMapper.selectList(new QueryWrapper<T>(T.class).eq("name", "张三")) - 删除记录:
baseMapper.delete(new QueryWrapper<T>().eq("name", "张三")) - 插入记录:
baseMapper.insert(new T(name = "张三", age = 20)) - 更新记录:
baseMapper.update(new T(name = "张三", age = 20), new QueryWrapper<T>().eq("id", 1))
以上是JeecgBoot新手必看的50个实用代码示例解析,希望对大家有所帮助。在实际开发过程中,还需要根据具体需求进行相应的修改和扩展。祝大家学习愉快!
