springboot整合mybatis
添加mybatis pom.xml依赖
<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>1.3.0</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency>
添加application.properties mysql配置
spring.datasource.url=jdbc:mysql://localhost:3306/test?useSSL=false&useUnicode=true&characterEncoding=utf-8spring.datasource.username=rootspring.datasource.password=rootspring.datasource.driver-class-name=com.mysql.jdbc.Driver
mysql test库中创建account表,springboot添加account model类
@ComponentpublicclassAccount{privateintid;privateStringname;privatedoublemoney;publicintgetId(){returnid;}publicvoidsetId(intid){this.id=id;}publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}publicdoublegetMoney(){returnmoney;}publicvoidsetMoney(doublemoney){this.money=money;}}
创建DAO层接口
importcom.example.demo.domain.Account;importorg.apache.ibatis.annotations.*;importorg.mapstruct.Mapper;importorg.springframework.stereotype.Component;importorg.springframework.stereotype.Repository;importjava.util.List;/***@Author冯战魁*@Date2018/1/23上午9:59*/@Mapper@Component(value="accountMapper")publicinterfaceAccountMapper{@Insert("insertintoaccount(name,money)values(#{name},#{money})")intadd(@Param("name")Stringname,@Param("money")doublemoney);@Update("updateaccountsetname=#{name},money=#{money}whereid=#{id}")intupdate(@Param("name")Stringname,@Param("money")doublemoney,@Param("id")intid);@Delete("deletefromaccountwhereid=#{id}")intdelete(intid);@Select("selectid,nameasname,moneyasmoneyfromaccountwhereid=#{id}")AccountfindAccount(@Param("id")intid);@Select("selectid,nameasname,moneyasmoneyfromaccount")List<Account>findAccountList();}
入口文件加入@MapperScan扫描接口的路径
@SpringBootApplication@MapperScan("com.example.demo.repository")publicclassDemoApplication{publicstaticvoidmain(String[]args){SpringApplication.run(DemoApplication.class,args);}}
添加操作接口
importcom.example.demo.repository.AccountMapper;importcom.example.demo.domain.Account;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.web.bind.annotation.*;importjava.util.List;/***@Author冯战魁*@Date2018/1/23上午10:12*/@RestController@RequestMapping("/account")publicclassAccountController{@AutowiredAccountMapperaccountMapper;@RequestMapping("list")publicList<Account>getAccounts(){returnaccountMapper.findAccountList();}@RequestMapping(value="/{id}",method=RequestMethod.GET)publicAccountgetAccountById(@PathVariable("id")intid){returnaccountMapper.findAccount(id);}@RequestMapping(value="/{id}",method=RequestMethod.PUT)publicStringupdateAccount(@PathVariable("id")intid,@RequestParam(value="name",required=true)Stringname,@RequestParam(value="money",required=true)doublemoney){intt=accountMapper.update(name,money,id);if(t==1){return"success";}else{return"fail";}}@RequestMapping(value="/{id}",method=RequestMethod.DELETE)publicStringdelete(@PathVariable(value="id")intid){intt=accountMapper.delete(id);if(t==1){return"success";}else{return"fail";}}@RequestMapping(value="",method=RequestMethod.POST)publicStringpostAccount(@RequestParam(value="name")Stringname,@RequestParam(value="money")doublemoney){intt=accountMapper.add(name,money);if(t==1){return"success";}else{return"fail";}}}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。