一般我们开发Spring boot的web应用的时候,一般会实现Service接口,然后实现对应的类,调用方法,通过对DAO映射进行数据访问,我现在就说一下如何实现简单快速的实现数据的访问。通过对DAO层直接进行数据的访问
我贴代码先:
public interface UserMapper {
int deleteByPrimaryKey(Integer id);
int insert(User record);
int insertSelective(User record);
@Select("select * from user where id = #{id}")
UserselectByPrimaryKey(Integer id);
int updateByPrimaryKeySelective(User record);
int updateByPrimaryKey(User record);
}
相信大家都看到了我使用了Select注解进行SQL语句对数据进行查询,就不要使用映射进行数据的选择
我刚开始用映射文件的时候,总是掉坑里,被这个映射文件弄得和头疼
然后我就想出了这个方法
当然,SQL语句的注解不仅仅是这个,还有比如@Delect @Select @Update等好多,根据自己的需求些,如果你要传参的话,在sql语句里面你可以使用#{}进行传参,当然啦,dao接口方法里面要有对应参数
@RequestMapping("/user")
@Controller
public class UserController {
@Resource
private UserMapperuserMapper;
@RequestMapping("/login")
@ResponseBody
public MapgetList(ModelMap modelMap) {
Map map =new HashMap<>(2);
map.put("msg", "success");
map.put("data",userMapper.selectByPrimaryKey(1));
modelMap.addAttribute("msg",map);
return map;
}
}
这个是我的Controller,然后我们一般会碰到以下报错:
springboot 报错Field XXX required a bean of type XXX that could not be found.
不要着急,因为我们是直接进行DAO的调用,所有我们要从Application入口文件里面配置以下,配置如下:
@SpringBootApplication
@MapperScan("com.example.spring.dao")
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
我们需要扫描Mapper包,也就是你的dao包
然后我们点击运行
属于对应的路径:
Look,这个就出来了
之前看过我的PHP的文章的人就知道,PHP里面有一个函数,叫json_encode();通过对数组进行json数据的转换,在spring里面,你可以通过实现一个Map返回值的方法,return 出map这个数据集合,你就会发现,返回的是json数据格式的字符串。是不是很惊喜
最后一点,我们需要在Spring的配置文件里面配置我们数据库的链接地址
总结一下:对于直接使用dao层和@sql注解进行数据库的使用,这个可能不是很安全,因为我作为一个初学者,我觉得这个方法效率高,所有我用了这个方法,第一是简单方便,不要新建映射文件,不要一个个对应其id,直接生成sql语句进行数据库操作。第二点:就是简单粗暴,简简单单的配置,就可以实现一个接口的开发,效率高
网友评论