eclipse 整合mybatis的过程
一、下载mybatis和数据库驱动的jar,我这里用到的数据库是pgAdmin III ,所以我下载的jar包分别为mybatis-3.0.2 jar和po's'tgresql-42.2.1.jar,如图所示

二、创建一个java项目,导入下载的jar包,构建的结构如下图所示:

三、分析
1.现在数据库中创建一个名为mybatis的数据库:创建的列有id(自动生长的)、name、sex、age,具体的创建过程自己创建。
2.先创建一个User.java类,如下图:
package com.mybatis.model.impl;
public class User {
private Integer id;
private String name;
private String sex;
private Integer age;
public User()
{
}
public User(final String name,final String sex,final Integer age)
{
this.name=name;
this.sex=sex;
this.age=age;
}
public Integer getId()
{
return this.id;
}
public void setId(final Integer id)
{
this.id=id;
}
public String getName()
{
return this.name;
}
public void setName(final String name)
{
this.name=name;
}
public String getSex()
{
return this.sex;
}
public void setSex(final String sex)
{
this.sex=sex;
}
public Integer getAge()
{
return this.age;
}
public void setAge(final Integer age)
{
this.age=age;
}
@Override
public String toString()
{
return "User [id="+id+",name="+name+",sex="+sex+",age"+age+"]";
}
}
3.创建一个UserMapper.java接口,这里只是负责提供数据CRUD的接口,具体的实现在下面的UserMapper.xml文件中。
package com.mybatis.mapper;
import java.util.List;
import com.mybatis.model.impl.User;
public interface UserMapper {
public void insertUser(User user) throws Exception;
public User selectOneUser(int id) throws Exception;
public List<User> selectAllUser() throws Exception;
public void deleteUser() throws Exception;
}
4.创建一个xml文件,名为UserMapper.xml,映射到上面的UserMapper接口。
<?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="com.mybatis.mapper.UserMapper"><!-- 这个是映射到上面的UserMapper接口的 -->
<insert id="insertUser" parameterType="com.mybatis.model.impl.User" useGeneratedKeys="true"
keyProperty="id" >
insert into tb_user(name,sex,age)
values(#{name},#{sex},#{age})
</insert> <select id="selectAllUser" resultType="com.mybatis.model.impl.User">
select * from tb_user
</select>
<delete id="deleteUser">
delete from tb_user </delete>
<select id="selectOneUser" parameterType="java.lang.Integer"
resultType="com.mybatis.model.impl.User">
select * from tb_user where id=#{id}
</select>
</mapper>
5.创建一个mybatis.xml文件来连接数据库。
<?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"> <!-- XML配置文件包含对MyBatis系统的核心设置 -->
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<!-- <property name="driver" value="com.mysql.jdbc.Driver" /> -->
<property name="driver" value="org.postgresql.Driver" />
<property name="url" value="jdbc:postgresql://localhost:5432/mybatis"/>
<property name="username" value="postgres" />
<property name="password" value="p" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="UserMapper.xml"/>
</mappers>
</configuration>
6.创建一个MybatisTest.java类类运行测试。
package com.mybatis.test;
import java.io.Reader;
import java.util.List; import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder; import com.mybatis.mapper.UserMapper;
import com.mybatis.model.impl.User;; public class MyBatisTest { public static void main(final String[] args) throws Exception{
// TODO Auto-generated method stub
//读取MyBatis配置文件
final Reader reader=Resources.getResourceAsReader("mybatis.xml");;
//初始化mybatis,创建SqlSessionFactory类的实例。
final SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(reader);
//创建Session实例
final SqlSession session=sqlSessionFactory.openSession();
//创建User对象
final UserMapper userMapper=session.getMapper(UserMapper.class);
//插入数据
User user=new User("Carson","男",23);
userMapper.insertUser(user);
user=new User("THL","女",23);
userMapper.insertUser(user);
session.commit(); //查询数据
final List<User> list=userMapper.selectAllUser();
System.out.println(list); //删除数据
// userMapper.deleteUser();
session.commit();
session.close(); } }
6.运行的结果如图,这是在没有运行删除语句时产生的结果。

以上是个人代码,如果有要转发的,请点赞,thx~.
eclipse 整合mybatis的过程的更多相关文章
- spring 整合 mybatis 中数据源的几种配置方式
因为spring 整合mybatis的过程中, 有好几种整合方式,尤其是数据源那块,经常看到不一样的配置方式,总感觉有点乱,所以今天有空总结下. 一.采用org.mybatis.spring.mapp ...
- SpringBoot系列-整合Mybatis(注解方式)
目录 一.常用注解说明 二.实战 三.测试 四.注意事项 上一篇文章<SpringBoot系列-整合Mybatis(XML配置方式)>介绍了XML配置方式整合的过程,本文介绍下Spring ...
- 零基础学习java------40---------Maven(maven的概念,安装,maven在eclipse中使用),springboot(spring整合springmvc(注解),spring整合mybatis(常见的配置文件)),前端页面(bootstrap软件)
一 maven 1. Maven的相关概念 1.1 项目开发中遇到的问题 (1)都是同样的代码,为什么在我的机器上可以编译执行,而在他的机器上就不行? (2)为什么在我的机器上可以正常打包,而配置管理 ...
- eclipse 创建maven 项目 动态web工程完整示例 maven 整合springmvc整合mybatis
接上一篇: eclipse 创建maven 项目 动态web工程完整示例 eclipse maven工程自动添加依赖设置 maven工程可以在线搜索依赖的jar包,还是非常方便的 但是有的时候可能还需 ...
- eclipse整合spring+springMVC+Mybatis
一.新建Maven项目 点击菜单栏File项,选择New->Project,选中Maven Project,如下图: 二.配置pom.xml <?xml version="1.0 ...
- eclipse下maven springMVC 整合 mybatis
参考文档:http://blog.csdn.net/zhshulin/article/details/37956105 1.搭建maven工程,具体参见我另一篇博客:http://www.cnbl ...
- Spring Boot整合Mybatis并完成CRUD操作
MyBatis 是一款优秀的持久层框架,被各大互联网公司使用,本文使用Spring Boot整合Mybatis,并完成CRUD操作. 为什么要使用Mybatis?我们需要掌握Mybatis吗? 说的官 ...
- Eclipse 安装mybatis的编辑插件
1.MyEditor安装的方式 Eclipse 安装mybatis的编辑插件有以下4种方式,您可以使用下列方法之一来安装MyBatis的编辑器: Eclipse 3.7的(市场客户机安装):此图像拖放 ...
- SpringBoot整合Mybatis之项目结构、数据源
已经有好些日子没有总结了,不是变懒了,而是我一直在奋力学习springboot的路上,现在也算是完成了第一阶段的学习,今天给各位总结总结. 之前在网上找过不少关于springboot的教程,都是一些比 ...
随机推荐
- str_pad 和 filter_var
这两个函数都是php内置函数,filter_var可直接过滤,比如邮箱,ip等,str_pad可补充字符串eg: 1 => 001
- Linux查看端口或pid使用路径
1. lsof -i:10010 查看10010端口的占用情况 命令返回结果: 2. netstat -lpn | grep 80 查看80端口服务端socket占用状况 3. ll /proc/26 ...
- 文件上传漏洞(pikachu)
文件上传漏洞 文件上传功能在web应用系统很常见,比如很多网站注册的时候需要上传头像,附件等等.当用户点击上传按钮后,后台会对上传的文件进行判断,比如是否是指定的类型.后缀名.大小等等,然后将其按照设 ...
- CentOS7虚拟机安装vmtools
直接开始: 在安装vmtools之前,需要先安装两个小部件,否则将安装失败. 下面是步骤: 1.切换为root模式,需要输入root密码,但是不显示. 命令为: su 2.安装gcc 命令为: yum ...
- 【linux运维】rsync+inotify与sersync+rsync实时数据同步笔记
Rsync(remote sync)远程同步工具,通过rsync可以实现对远程服务器数据的增量备份通过,但rsync自身也有缺陷,同步数据时,rsync采用核心算法对远程服务器的目标文件进行对比,只进 ...
- web前端开发中的各种居中
居中是我们使用css来布局时常遇到的情况.使用css来进行居中时,有时一个属性就能搞定,有时则需要一定的技巧才能兼容到所有浏览器,本文就居中的一些常用方法做个简单的介绍. 注:本文所讲方法除了特别说明 ...
- SVN签出,回退
2019独角兽企业重金招聘Python工程师标准>>> yum install -y subversion 安装SVN 签出代码 : [root@test svn]# svn che ...
- [译] React 16.3(.0-alpha) 新特性
原文地址:What's new in React 16.3(.0-alpha) 原文作者:Bartosz Szczeciński 译文出自:掘金翻译计划 本文永久链接:github.com/xitu/ ...
- EntityFramework 迁移遇到的问题
2019独角兽企业重金招聘Python工程师标准>>> 添加迁移add-migration migrationname 更新数据Update-Database EntityFrame ...
- Vue页面权限控制和动态添加路由
原文转自:点我 页面权限控制 页面权限控制是什么意思呢? 就是一个网站有不同的角色,比如管理员和普通用户,要求不同的角色能访问的页面是不一样的.如果一个页面,有角色越权访问,这时就得做出限制了. Vu ...