博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
12.5. 集成 Mybatis
阅读量:5896 次
发布时间:2019-06-19

本文共 3513 字,大约阅读时间需要 11 分钟。

12.5.1. pom.xml

org.mybatis
mybatis
3.3.0
org.mybatis
mybatis-spring
1.2.3

12.5.2. properties

jdbc.driverClassName=oracle.jdbc.driver.OracleDriverjdbc.url=jdbc:oracle:thin:@192.168.4.9:1521:orcl#jdbc.url=jdbc:mysql://127.0.0.1:3306/mybatisjdbc.username=testjdbc.password=123456

12.5.3. dataSource

12.5.4. SqlSessionFactory

创建SqlSessionFactory,需指定数据源,property名称必须为dataSource

12.5.5. Mapper 扫描

12.5.6. Mapper 单一class映射

创建数据映射器Mapper,属性mapperInterface的value必须为接口类

12.5.7. Service

12.5.8. 测试实例

例 12.1. MyBatis

建立映射

package cn.netkiller.mapper;import org.apache.ibatis.annotations.Select;import org.apache.ibatis.annotations.Param;import cn.netkiller.model.User;public interface UserMapper {	@Select("SELECT * FROM `user` WHERE id = #{id}")	public User findById(@Param("id") int id); }

建立模型

package cn.netkiller.model;public class User {	private String id;	private String name;	private int age;	public String getId() {		return id;	}	public void setId(String id) {		this.id = id;	}	public String getName() {		return name;	}	public void setName(String name) {		this.name = name;	}	public int getAge() {		return age;	}	public void setAge(int age) {		this.age = age;	}	@Override	public String toString() {		return "User [id=" + id + ", name=" + name + ", age=" + age + "]";	}}

建立 service

package cn.netkiller.service;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import cn.netkiller.mapper.UserMapper;import cn.netkiller.model.User;@Servicepublic class UserService {	@Autowired	private UserMapper userMapper;	public UserMapper getUserMapper() {		return userMapper;	}	public void setUserMapper(UserMapper userMapper) {		this.userMapper = userMapper;	}	public User findById(int id) {        return userMapper.findById(id);    }}

建立控制器

package cn.netkiller.controller;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.ui.ModelMap;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;import org.springframework.web.context.support.WebApplicationContextUtils;import org.springframework.web.servlet.ModelAndView;import org.springframework.web.servlet.view.RedirectView;import cn.netkiller.mapper.UserMapper;import cn.netkiller.model.User;import cn.netkiller.service.UserService;@Controllerpublic class Index {	@Autowired	private UserMapper userMapper;		@Autowired    private UserService userService;			@RequestMapping("/index")	// @ResponseBody	public ModelAndView index() {		String message = "Hello";		return new ModelAndView("index/index", "variable", message);	}	@RequestMapping("/user")	public ModelAndView user() {				User user = userService.findById(2);		String message = user.toString();		return new ModelAndView("index/index", "variable", message);	}		@RequestMapping("/member")	public ModelAndView member() {		User user = userMapper.findById(2);		String message = user.toString();		return new ModelAndView("index/index", "variable", message);	}}

原文出处:Netkiller 系列 手札
本文作者:陈景峯
转载请与作者联系,同时请务必标明文章原始出处和作者信息及本声明。

你可能感兴趣的文章
实现c协程
查看>>
ASP.NET视频教程 手把手教你做企业论坛网站 视频教程
查看>>
[LeetCode] Meeting Rooms II
查看>>
从Swift学习iOS开发的路线指引
查看>>
Scribes:小型文本编辑器,支持远程编辑
查看>>
ssh 安装笔记
查看>>
游戏音效下载网站大全
查看>>
实验五
查看>>
3-继承
查看>>
海归千千万 为何再无钱学森
查看>>
vue2.0 仿手机新闻站(六)详情页制作
查看>>
JSP----九大内置对象
查看>>
Java中HashMap详解
查看>>
delphi基本语法
查看>>
沙盒目录介绍
查看>>
260. Single Number III
查看>>
Hadoop生态圈-Kafka的完全分布式部署
查看>>
css的border的solid
查看>>
[MODx] Build a CMP (Custom manager page) using MIGX in MODX 2.3 -- 1
查看>>
jQuery自动完成点击html元素
查看>>