因为项目中要用mybatis,今天自己也看了下mybatis的基本知识,写了一个小demo
直接上代码,至于mybatis的一些基本的概念,可以网上百度下,还是很多的
项目结构如下:
1.首先写一个简单的实体类
package test.batics.entity;
import org.apache.ibatis.type.Alias;
@Alias("User")
public class User {
private String loginName;
private String password;
private String email;
private String name;
private Long id;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getLoginName() {
return loginName;
}
public void setLoginName(String loginName) {
this.loginName = loginName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
2.写一个mybatis的config配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 别名 -->
<typeAliases>
<typeAlias type="test.batics.entity.User" alias="User" />
</typeAliases>
<!-- 数据库相关-->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="oracle.jdbc.driver.OracleDriver" />
<property name="url"
value="jdbc:oracle:thin:@172.16.3.101:1521:ticketdb" />
<property name="username" value="uds" />
<property name="password" value="tempus" />
</dataSource>
</environment>
</environments>
<!-- 映射的mapper-->
<mappers>
<mapper resource="mapper/UserMapper.xml" />
</mappers>
</configuration>
3.写一个接口,用来对应实体类映射文件中的namespace
package test.batics.service;
import java.util.List;
import test.batics.entity.User;
public interface UserMapper {
User findById(Long id);
List<User> findAll();
}
4.写实体类的映射文件,注意namespace对应的是之前的接口,其中2个方法,一个通过id查询,一个查询全部
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="test.batics.service.UserMapper">
<select id="findById" parameterType="java.lang.Long" resultType="User">
select * from t_user where id = #{value}
</select>
<select id="findAll" resultType="User">
select * from t_user
</select>
</mapper>
5.写 一个工具类来得到sqlSession,增删改操作通过session来进行
package test.batics.util;
import java.io.IOException;
import java.io.InputStream;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class BatisUtil {
final static String RESOURCE = "config/mybatis_demo_config.xml";
public static SqlSession getSession(){
SqlSession session = null;
InputStream inputStream = null;
try {
inputStream = Resources.getResourceAsStream(RESOURCE);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
session = sqlSessionFactory.openSession();
} catch (IOException e) {
e.printStackTrace();
}
return session;
}
public static void closeSession(SqlSession session){
session.close();
}
}
6.最后写一个测试类,提供两种方式
package test.batics.demo;
import java.util.List;
import org.apache.ibatis.session.SqlSession;
import test.batics.entity.User;
import test.batics.util.BatisUtil;
public class RunDemo {
static final String NAME_SPACE = "test.batics.service.UserMapper";
/**
* @param args
*/
public static void main(String[] args) {
SqlSession session = BatisUtil.getSession();
// 第一种解决方案
/*
* UserMapper mapper = session.getMapper(UserMapper.class); Long id =
* 2061L; User user = mapper.findById(id);
* System.out.println(user.getName());
* System.out.println("id="+user.getId());
*/
// 第二种解决方案
List<User> users = session.selectList(NAME_SPACE + ".findAll");
for (User user : users) {
System.out.println("email=" + user.getEmail() + "\t" + "loginName="
+ user.getLoginName() + "\t" + "name=" + user.getName()
+ "\t" + "password=" + user.getPassword() + "\t" + "id="
+ user.getId());
}
}
}
最后运行结果:
源码已经上传了,因为公司网络大家共用,实在是慢,所以jar包没有上传,jar包的下载地址是
http://mybatis.github.io/
- 大小: 9.8 KB
- 大小: 160.8 KB
分享到:
相关推荐
Hello World版Spring框架和Mybatis框架学习demo。学习和入门搭建最简单的单一框架。
初学者学习mybatis的demo主要描述了简单的数据库的增、删、改、查。内有数据库
初学者学习mybatils 的demo主要描述了基于XML配置 以及注解配置这两种方法实现简单的数据库的增、删、改、查,有详细注释,内含数据库文件
springboot加mybatis的简单示例,适合入门学习;springboot加mybatis的简单示例,适合入门学习。
springboot+mybatis+redis+thymeleaf技术整合的完整的一个web项目demo源码
springmvc+mybatis,利于新手学习,便于快速搭建项目框架
此文件是一个简单的ssi,也就是spring+springmvc+mybatis的例子,简单的增删改查,数据库很简单,看看entity就能知道.上面还加了一些前端的JQ,和一个Dialog框架,是学习的好例子。不过有点大,主要是里面的lib包太大,...
简单完整的ssm三大框架整合,学习从demo开始,欢迎下载留言。 使用参考:https://blog.csdn.net/x_san3/article/details/81537461
maven创建的springmvc+mybatis框架整合demo源码,简单有效,共同探讨,一定要做一个爱学习并对社会有用的小尾巴哦!
NULL 博文链接:https://1358440610-qq-com.iteye.com/blog/1827130
分享一个spring+mybatis+velocity项目demo,该项目是之前给一个学第学习用的,主要基于springMVC、mybatis、velocity搭建的,使用maven构建,其中zai service层编写了两个简单组件,一个是email发送,一个是认证授权...
主要给大家介绍了关于Mybatis中拦截器的简单实现方法,文中通过示例代码介绍的非常详细,对大家学习或者使用Mybatis具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
简单的一个Spring MVC+ Spring+ Mybatis的Demo搭建案例,适合刚开始学习的小伙伴
springboot+mybatis PageHelper dataTable 简单的 前后端分页 demo,适合初学者学习,复制粘贴直接用。, 详情 https://blog.csdn.net/m0_37946870/article/details/80129620
jfinal demo 3.2 , 学习开发当然要多看代码,jfinal 最新源码。MVC架构,设计精巧,使用简单 遵循COC原则,零配置,无xml 独创Db + Record模式,灵活便利 ActiveRecord支持,使数据库开发极致快速 极简、高性能...
这是大四做的毕业设计,是在大二学习了JavaWeb后写了一个简单的酒店管理系统小demo的升级版,主要使用SpringMVC+Spring+Mybatis实现酒店日常的基本管理。预订查询空房、入住办理离店、系统权限管理等.zip 这是大四做...
spring+spring mvc+mybatis整合shiro的一个简单实例demo。 其中的数据库文件在第一个目录下。
先说明数据库就放一条记录不要多放,我是对象接受的。maven+SpringMVC+Spring+Oracle+mybatis。简单demo适合新手学习
SpringBoot+mybatis+mysql接口开发,实现数据的增删改查,简单实现,做一个学习使用。 详细说明,参考博客:https://blog.csdn.net/qq_38234785/article/details/118445009