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的教程,都是一些比 ...
随机推荐
- netcore 下的policy授权自定义返回结果
目前一直在用policy做权限校验,但是好像组里需要将返回结果统一,之前用的都是直接继承AuthorizationHandler然后调用context.Fail(),但是这样会导致没办法自定义返回结果 ...
- 2019-2020-1 20199308《Linux内核原理与分析》第七周作业
<Linux内核分析> 第六章 进程的描述和进程的创建 6.1 进程的描述 操作系统内核实现操作系统的三大管理功能: 进程管理(进程)-核心 内存管理(虚拟内存) 文件系统(文件) 为了管 ...
- 【三剑客】awk函数
1. 内置函数 awk的内置函数有算术.字符串.时间.位操作和其它杂项的函数. 1.1 算术函数 atan2(y,x) 返回弧度的反正切(y/x) cos(expr) 返回expr的余弦(以弧度形 ...
- js高阶函数的理解
高阶函数:英文叫Higher-order function.JavaScript的函数其实都指向某个变量.既然变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数 ...
- zabbix3.x.x升级教程
1:停掉正在运行的zabbix服务,确保没有新数据写入数据库. /etc/init.d/zabbix_server stop 2:备份原zabbix的数据库数据,以及相关文件. mysqldump - ...
- JS异步与同步
这里展示一个操作场景:需要对数据进行异步处理,但这次操作可能会失败,所以需要定期对数据进行再次处理,直至处理成功. 实现:手动触发的处理以及定期触发的处理,是相同的,即可以抽取出来成一个公共函数,定期 ...
- 基于opencv的人脸识别程序
1. 解析opencv自带人脸识别源码(……/opencv-3.1.0/samples/cpp/facedetect.cpp) @ 操作系统:Ubuntu 15.04 OpenCV版本:3.1.0 # ...
- 一文揭秘测试平台中是如何将测试用例一键转化Jmeter压测脚本
接上篇,一键转化将接口测试平台测试用例转化成Jmeter压测脚本思路,这里我首先在java 上面做了一个简单的实验,看看 转化的中间遇到的问题,这里呢,我只是给了一个简单的demo 版本, ...
- 图论--最短路--SPFA
SPFA算法(shortest path faster algorithm)算法是西南交通大学段凡丁于1994年发表的,它在Bellman-ford算法的基础上进行了改进,使其在能够处理待负权图的单元 ...
- php使用curl post josn数据
今天在工作中使用到要使用("Content-Type", "application/json;charset=UTF-8")格式传送和接受数据,再次做个记录 p ...