响应的json数据为一个json数组:
[{id: 2, name: "测试2", category: {id: 10, name: "测试10"}},…]
0: {id: 2, name: "测试2", category: {id: 10, name: "测试10"}}
1: {id: 1, name: "测试1", category: {id: 10, name: "测试10"}}
这时,在vue中取数据应该用response.data:
listSearch:function () {
var url = "search?keyword="+vue.keyword;
axios.post(url).then(function (response) {
vue.beans = response.data;
})
}
Error creating bean with name 'entityManagerFactory' defined in class path resource
提示这个错误往往是配置文件application.properties中数据库地址密码等配置有误
#database
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/library_manage?characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=admin
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.jpa.hibernate.ddl-auto = none
pojo实体类,service服务类,controller控制器类在springboot里都要加上相应的注解程序才能编译。这个初学容易忘加上,会编译出错。
pojo实体类加上@Entity,并标注对应的表名@Table,在主键id上也有对应的注解
@Entity
@Table(name = "user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private int id;
private String name;
private String passWord;
service类要注解@Service
@Service
public class BookService {
@Autowired
BookDAO bookDAO;
@Autowired CategoryService categoryService;
public void add(Book bean){
bookDAO.save(bean);
}
public void delete(int id){
bookDAO.delete(id);
}
public Book get(int id){
return bookDAO.findOne(id);
}
public void update(Book bean){
bookDAO.save(bean);
}
restful风格的controller要注解为@RestController
@RestController
public class BookController {.....}
vue中,a标签href添加参数需在href前添加冒号,这样才能将bean.id值转化过来
<a :href="'admin_book_edit?id=' + bean.id ">
controller返回例如登录成功等一些消息,目前看最好是以对象的形式返回,返回的对象会自动转换为json对象
//Result类为专门返回登录成功后结果的类
public class Result {
public static int SUCCESS_CODE = 1;
public static int FAIL_CODE =0;
public int code;
public String message;
private Result(int code,String message){
this.code = code;
this.message = message;
}
public static Result success(){
return new Result(SUCCESS_CODE,null);
}
public static Result fail(){
return new Result(FAIL_CODE,"密码错误");
}
}
//LoginController代码片段,返回的是对象
@PostMapping("/login")
public Object login(@RequestBody User userParam, HttpSession httpSession){
User user = userService.get(userParam.getName(),userParam.getPassWord());
if (user==null){
return Result.fail();
} else {
httpSession.setAttribute("user",userParam);
return Result.success();
}
}
//login.html中代码片段
login:function () {
axios.post(vue.uri,this.user).then(function (response) {
vue.result = response.data //respose.data即为{code:1,message:"登录成功"}
if (vue.result.code ==1){
location.href="admin_category_list"
}
else{
alert(vue.result.message)
}
})
}
<div>块放错地方,注意vue的工作范围。el: