标签:决定 dal public ide resource work The prim 次数
SpringDataJPA不需要表直接使用注解,是对JPA的封装。
DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(50) DEFAULT NULL, `password` varchar(50) DEFAULT NULL, `name` varchar(50) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;
插入数据:
INSERT INTO `user` VALUES (‘1‘, ‘zhangsan‘, ‘123‘, ‘张wujiji); INSERT INTO `user` VALUES (‘2‘, ‘lisi‘, ‘123‘, ‘李四‘);
<!-- springBoot JPA的起步依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <!--数据库的依赖--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency>
@Entity //声明此类是实体类 @Table(name = "user") //声明表名为user @Data //此注解作用相当于添加了setter、getter、toString方法 public class User { //主键自增长策略 @Id //指定的类的属性,用于识别(一个表中的主键) //指定如何标识属性可以被初始化,例如自动、手动、或从序列表中获得的值 @GeneratedValue(strategy = GenerationType.IDENTITY) private int id; private String username; private String password; private String name; }
@RestController //相当于@Controller和@RequestMapping两个注解的作用 public class UserController { @Autowired private UserDao userDao; @RequestMapping("/user/list") public List<User> getUserList(){ return userDao.findAll(); //方法可以直接调用,不需要自己手写 } }
//采用SpringDataJPA的方式必须继承JpaRepository,两个泛型,一个是实体类的类型,另一个是主键的类型 public interface UserDao extends JpaRepository<User,Integer> { }
将数据显示到页面上的方式有:
1.静态:html、vue.js框架、angular.js框架(此框架出bug时不会报出在第几行,需要一行一行的找),后两个都是重型框架,加载速度慢,只适用于写办公软件、后台等被公司内部员工所用,不适用于客户
2.动态:每次请求都生成一次页面jsp、json、freemarker模板、tymeleaf模板(比较麻烦)、velocity框架(已过时)。
jsp本质上就是servlet,运行时需要容器,即工程,切必须是web工程,项目中若使用了springboot框架,则项目中不推荐使用jsp
此处我们使用模板技术freemarker:
<!--freemarker模板依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </dependency>
<html>
<head>
<title>spring boot</title>
</head>
<body>
<table border="1px">
<thead>
<tr>
<th>id</th>
<th>用户名</th>
<th>密码</th>
<th>姓名</th>
</tr>
</thead>
<tbody>
<#--循环 将后台返回回来的userList数据循环 user代表userList中的单个对象-->
<#--循环次数有userList中的数据决定,有多少条就循环多少次-->
<#list userList as user>
<tr>
<th>${user.id}</th>
<th>${user.username}</th>
<th>${user.password}</th>
<th>${user.name}</th>
</tr>
</#list>
</tbody>
</table>
</body>
</html>
@Controller public class PageController { @Autowired private UserDao userDao; @Value("${page.rows}") private Integer rows; @RequestMapping("/page/user/list") public String getUserList(Model model){ List<User> userList = userDao.findAll(); model.addAttribute("userList",userList); return "user";//返回ftl的名字,跳转到页面 } }
springboot整合springDataJPA(替代了MyBatis)
标签:决定 dal public ide resource work The prim 次数
原文地址:https://www.cnblogs.com/zhy819/p/11808656.html