美文网首页程序员
Spring Boot自学(九) 使用DAO层不使用Mapper

Spring Boot自学(九) 使用DAO层不使用Mapper

作者: 阿里高级软件架构师 | 来源:发表于2018-06-04 09:29 被阅读0次

        一般我们开发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语句进行数据库操作。第二点:就是简单粗暴,简简单单的配置,就可以实现一个接口的开发,效率高

相关文章

网友评论

    本文标题:Spring Boot自学(九) 使用DAO层不使用Mapper

    本文链接:https://www.haomeiwen.com/subject/hzkesftx.html