查看“Mybatis的使用”的源代码
←
Mybatis的使用
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
==使用MyBatis== MyBatis,是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。其使用方式和jdbcTemplate基本是一致的 ===基本使用方法=== *添加依赖 <blockquote> <dependency><br /> <groupId>org.mybatis.spring.boot</groupId><br /> <artifactId>mybatis-spring-boot-starter</artifactId><br /> <version>2.1.3</version><br /> </dependency> </blockquote> *创建Mapper接口 <blockquote> public interface CustomerMapper {<br /> @Select("select id,name,address from customer")<br /> public List<Customer> getCustomers();<br /> @Delete("delete from customer where id =#{id}")<br /> public Integer updateCustomer(Customer customer);<br /> @Update("update customer set name = #{name},address=#{address} where id =#{id}")<br /> public Integer updateCustomer(Customer customer);<br /> @Insert("insert into customer(id,name,address) values(#{id},#{name},#{address})")<br /> public Integer saveCustomer(Customer customer);<br /> } </blockquote> 这里是通过全注解的方式来写SQL,不写XML文件,当然也可以使用xml文件配置sql信息(可以使用IDE的插件完成,但要注意配置xml放置的位置),@Select、@Insert、@Update以及@Delete四个注解分别对应XML中的select、insert、update以及delete标签,@Results注解类似于XML中的ResultMap映射文件,另外使用@SelectKey注解可以实现主键回填的功能,即当数据插入成功后,插入成功的数据id会赋值到对象的id属性上 *配置mapper扫描 直接在Mapper上面添加@Mapper注解 在启动类上添加Mapper扫描@MapperScan(basePackages = "com.kayak.springboot.mybatis.mapper"),通常我们会把Mapper都放到一起 *使用 <blockquote> @RestController @RequestMapping("/customer") <br/> public class CustomerController { <br/> Logger logger = LoggerFactory.getLogger(CustomerController.class);<br/> /** * 客户信息Mapper */ @Autowired<br/> CustomerMapper customerMapper;<br/> /**<br/> * 查询所有的客户信息<br/> * <br/> * @return<br/> */<br/> @RequestMapping(value = { "/", "" })<br/> public List<Customer> allCuetomers() {<br/> return customerMapper.getCustomers();<br/> }<br/> /**<br/> * 根据id查询客户信息<br/> * <br/> * @param id<br/> * @return<br/> */<br/> @GetMapping("/{id}")<br/> public Customer getCustomer(@PathVariable Long id) {<br/> return customerMapper.getCustomerById(id);<br/> }<br/> /**<br/> * 保存客户信息<br/> * <br/> * @param customer<br/> * @return<br/> */<br/> @PostMapping("/")<br/> public Customer saveCustomer(@RequestBody Customer customer) {<br/> int result = customerMapper.saveCustomer(customer);<br/> return result == 1 ? customer : null;<br/> }<br/> /**<br/> * 修改客户信息<br/> * <br/> * @param id<br/> * @param name<br/> * @param address<br/> * @return<br/> */<br/> @PutMapping("/{id}/{name}/{address}")<br/> public Customer putCustomer(@PathVariable Long id, @PathVariable String name, @PathVariable String address) {<br/> Customer customer = new Customer();<br/> customer.setAddress(address);<br/> customer.setName(name);<br/> customer.setId(id);<br/> int result = customerMapper.updateCustomer(customer);<br/> if (result > 0) {<br/> return customer;<br/> }<br/> return null;<br/> }<br/> /**<br/> * 删除客户信息<br/> * <br/> * @param id<br/> * @return<br/> */<br/> @DeleteMapping(value = "/{id}")<br/> public String deleteCustomer(@PathVariable Long id) {<br/> int result = customerMapper.deleteCustomer(id);<br/> if (result > 0) {<br/> return "删除成功";<br/> }<br/> return "删除失败";<br/> } </blockquote>
返回至“
Mybatis的使用
”。
导航菜单
个人工具
登录
名字空间
页面
讨论
变体
视图
阅读
查看源代码
查看历史
更多
搜索
导航
-==扬==-
-==帆==-
-==起==-
-==航==-
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息