今天初次接触了MyBatis这种半ORM框架,在学习之中有很多的体会,于是乎写下这篇博客,方便自己日后复习,有需要的同学也可以学习学习,互帮互助。所有的项目文件已经上传,有需要的可以下载。
和所有的框架一样,在项目之中使用一个框架的第一步大概就是导入jar 包。MyBatis是个轻量级的框架,需要的jar包也很少。在本工程之中与MyBatis相关的包只有三个mybatis-3.2.7.jar 、mybatis-spring-1.2.2.jar、mysql-connector-java-5.1.7-bin.jar。第一个包是MyBatis的核心包,第二个包是Mybatis和Spring配合使用的时候需要的包,第三个是链接mysql数据库的驱动包。
下面开始来配置,首先先配置Spring。在web.xml之中配置好Spring的核心,dispatcherServlet ,如下
springmvc
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:springmvc.xml
springmvc
*.action
servlet的配置大家应该耳熟能详,这也不是本文的中点,因此不做更多的介绍。
接着在src目录下新建springmvc.xml,这个是SpringMVC的核心配置文件。与Mybatis相关的所有配置先从这个文件开始。首先是SpringMVC的注解,在这个懒人盛行的年代好像不会注解怎么都说不过去。注解方式的配置如下,缺一不可。
这里配置的注解使用了组件扫描,扫描com.neusoft下所有的包,如果想扫描别的包,也可以稍作修改。
接着我们来配置sqlMapConfig.xml 这个文件可以配置的信息有
由于本工程使用了SpringMVC,因此一些配置可以省略,在这个配置文件之中只设置了类型别名typeAiases,具体如下,这个配置文件的详情在另外一篇博客之中会详细解析。
接着,我们再在springmvc.xml之中配置数据库配置文件以及连接池信息:
db.property文件的配置如下,可以根据自己的数据库进行更改
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc\:mysql\://localhost\:3306/neusoft
jdbc.username=root
jdbc.password=123
数据库配置文件db.property放置在src目录下,当然,如果放在与src目录同级下的源文件夹之中也可以,因为所有的源文件夹在被编译后都会同意被安放在classpath之下。
接着配置扫描器
到这里为止,我们的MyBatis+SpringMVC就基本配置完成了,但是,并没什么卵用,仅仅是搭好了框架而已,下面,来开始正式使用这两个框架吧。
先在com.neusoft.po 下创建一个简单的java对象
public class User {
private String id;
private String name;
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;
}
}
首先,先在com.neusoft.mapper下创建一个接口UserMapper,我们正式通过这个接口里面的抽象方法操作数据库。
public interface UserMapper {
/**
* 接口的方法在UserMapper.xml之中配置
* @param user
*/
public void insertForUser(User user);
}
接着
insert into neusoft_user(name) values(#{name})
接着,配置我们的处理器,在com.neusoft.controller 包下创建
@Controller
public class UserController {
//自动注入
@Autowired
UserMapper userMapper ;
@RequestMapping("/add")
public String add(User user){
userMapper.insertForUser(user);
System.out.println("这是我的add");
return "success.jsp";
}
}
这里都是用的注解的方式,配置了一个控制器,可以通过add.action 调用这个控制器。自动注入了一个UserMapper userMapper ,比较省心,如果对于注解不清楚的客官就要好好学习了。到这里,一个简单的例子就完成了,我们可以在浏览器中试试。访问,截图如下: