MyBatis基于Maven入门实例
本地环境:
1. JDK: 1.8.0_161
2. Eclipse: Oxygen.3 Release (4.7.3)
3. Maven: apache-maven-3.5.3
4. Database: Oracle 10g
准备阶段:
第1步: 使用Maven创建一个 Java Project. Project 名称: JavaStudy
将此Project导入到 Eclipse
如何创建和导入, 可参考
maven创建Java 和 Web Project, 并导入Eclipse
第2步: 在Oracle建立表 T_USER, 输入一笔数据,用于后面测试
ID USERID USERNAME
1 W00001 bei.liu
代码阶段
第3步:在pom.xml中加入依赖包, mybatis, ojdbc
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.oscar999</groupId><artifactId>JavaStudy</artifactId><packaging>jar</packaging><version>1.0-SNAPSHOT</version><name>JavaStudy</name><url>http://maven.apache.org</url><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.10</version><scope>test</scope></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.4.6</version></dependency><dependency><groupId>com.oracle</groupId><artifactId>ojdbc6</artifactId><version>11.2.0.3</version></dependency></dependencies>
</project>
注:
由于需要oracle官方授权,所以maven上(https://repo.maven.apache.org/maven2/com/oracle/)无法下载ojdbc,需要自己下载,然后通过命令加载到本地maven库中,详细步骤如下
1) 到Oracle官方下载 ojdbc,
这里下载的是 ojdbc6, 版本号:11.2.0.3
2) 安装到本地库
mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.3 -Dpackaging=jar -Dfile=d:\\temp\\ojdbc6.jar
在命令行进入项目目录, 执行 mvn eclipse:eclipse, 目的是将相关的jar放入eclipse的build path
第4步:新增User的实体类
/*** @Title: User.java* @Package com.oscar999* @Description: TODO* @author oscar999* @date May 3, 2018 4:05:49 PM* @version V1.0*/package com.oscar999;/*** @ClassName: User* @Description: TODO* @author oscar999*/public class User {private String id;private String userId;private String userName;public String getId() {return id;}public void setId(String id) {this.id = id;}public String getUserId() {return userId;}public void setUserId(String userId) {this.userId = userId;}public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}@Overridepublic String toString() {return "User[id=" + id + ",userId=" + userId + ",userName=" + userName + "]";}}
第6步: 添加接口类
/*** @Title: UserMapper.java* @Package com.oscar999* @Description: TODO* @author oscar999* @date May 3, 2018 4:05:00 PM* @version V1.0*/package com.oscar999;/*** @ClassName: UserMapper* @Description: TODO* @author oscar999*/public interface UserMapper {public User findUserById(int id);
}
第7步: 添加接口映射文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.oscar999.UserMapper"><select id="findUserById" resultType="com.oscar999.User">select id, userId,userName from t_user where id = #{id}</select>
</mapper>
第8步: 添加MyBatis核心配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration><environments default="development"><environment id="development"><transactionManager type="JDBC" /><dataSource type="POOLED"><property name="driver" value="oracle.jdbc.driver.OracleDriver" /><property name="url" value="jdbc:oracle:thin:@172.26.141.90:1521:orcl" /><property name="username" value="esdmbrn" /><property name="password" value="oracle" /></dataSource></environment></environments><mappers><mapper resource="UserMapper.xml" /></mappers>
</configuration>
第9步: 添加测试类并测试
/*** @Title: MyBatisTest.java* @Package com.oscar999* @Description: TODO* @author oscar999* @date May 3, 2018 4:13:48 PM* @version V1.0*/package com.oscar999;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;
import org.junit.Test;/*** @ClassName: MyBatisTest* @Description: TODO* @author oscar999*/public class MyBatisTest {@Testpublic void test() throws IOException {SqlSessionFactory sqlSessionFactory = getSQLSessionFactory();SqlSession openSession = sqlSessionFactory.openSession();try {User user = openSession.selectOne("com.oscar999.UserMapper.findUserById", "1");System.out.println(user);} finally {openSession.close();}}public SqlSessionFactory getSQLSessionFactory() throws IOException {String resource = "mybatis-config.xml";InputStream inputStream = Resources.getResourceAsStream(resource);return new SqlSessionFactoryBuilder().build(inputStream);}}
项目结构:
MyBatis基于Maven入门实例相关推荐
- Hibernate基于Maven入门实例,与MyBatis比对
此篇承接上一篇: MyBatis基于Maven入门实例 准备部分 1. 进入http://mvnrepository.com/ , 搜索 Hibernate ORM, 找到相应的版本后, 可以看到配置 ...
- maven 入门介绍
Maven是什么? Maven: 中文翻译,"专家".基本上有两个用途 一是构建工具, 用来把源代码构建成可发布的构件.类似于ant; 另外一个是项目管理工具. 官方给出的定义是 ...
- mybatis 详解(三)------入门实例(基于注解)
1.创建MySQL数据库:mybatisDemo和表:user 详情参考:mybatis 详解(二)------入门实例(基于XML) 一致 2.建立一个Java工程,并导入相应的jar包,具体目录如 ...
- mybatis基于注解的入门案例
mybatis基于注解的入门案例: 把IUserDao.xml移除,在dao接口的方法上使用@Select注解,并且指定SQL语句 同时需要在SqlMa ...
- 【手把手教学】基于Maven构建方式使用Mybatis generator自动生成
简介 Mybatis generator是一种代码生成器, 可以基于数据库表的字段与类型,自动生成Java代码中对应的entity类.dao类.mapper映射文件. 实现Mybatis genera ...
- 使用IDEA基于Maven搭建多模块聚合工程(springmvc+spring+mybatis整合)
文章有不当之处,欢迎指正,如果喜欢微信阅读,你也可以关注我的微信公众号:好好学java,获取优质学习资源. 终于有时间搞java了,今天使用IDEA基于maven搭建了多模块聚合工程,经过了多番尝试, ...
- mybatis完整增删改查入门实例
mybatis完整增删改查入门实例 编程步骤 ①创建Java工程. ②导入jar包. ③创建sqlMapConfig.xml配置文件,这是mybatis的入口. ④创建数据库,数据库表user_c,插 ...
- pythonhelloworld实例_Python基于Tkinter的HelloWorld入门实例
本文实例讲述了Python基于Tkinter的HelloWorld入门实例.分享给大家供大家参考.具体分析如下: 初学Python,打算做几个Tkinter的应用来提高. 刚学的HelloWorld, ...
- maven多模块项目部署到服务器,GitHub - baxias/foweb: 一个基于 Spring+SpringMVC+Mybatis 的Maven多模块项目。(实现前后端分离的服务器端)...
Foweb Framework A multi-modules maven project base on Spring+SpringMVC+Mybatis. 一个基于 Spring+SpringMV ...
最新文章
- JavaScript 复习之数据类型
- R语言plotly可视化:plotly可视化分组归一化直方图(historgram)并在直方图中添加密度曲线kde、并在直方图的底部部边缘使用geom_rug函数添加边缘轴须图
- PXE启动芯片出错代码表、初始化/引导/载入Bootstrap错误代码
- 农行笔试,直接寄了,经验总结
- 关于db link权限分配的苦旅(一)
- 看动画学算法系列之:后缀树suffix tree
- Modularity(模块化-CommonJS规范)
- 支撑抖音“跳动”数年后,火山引擎新一代视频点播服务正式对外开放
- oracle中累计求和_Excel中常见的7种求和公式
- Windows 2008 R2 SP1 离线安装IE11
- matlab求二阶中心矩,opencv —— moments 矩的计算(空间矩/几何矩、中心距、归一化中心距、Hu矩)...
- 技术经理成长复盘-我是什么样的人
- hover效果移除时元素还原太生硬的情况
- 零基础做油管搬运二创项目的正确方式,短视频小白玩家套利的可能
- html项目经验范文,优秀的项目经验怎么写?
- PMP模拟试题每日5题(4月28日)
- 网络摄像头IPC国标GB28181协议国标安防视频流媒体平台EasyGBS视频流不上线排查步骤
- 实战:战狼2票房数据分析——(2)票房数据构造及保存
- 2022长三角产业区块链生态图谱 附下载
- 2.Excel vba开发-从选择中突出显示重复项
热门文章
- PyQT5 helloworld教程(转载)
- 最小生成树(hdu1233还是畅通工程)
- python报“IndentationError: unexpected indent“的解决方法
- VS启动调试速度异常的缓慢问题
- 阿里云windows server 2012安装.net framework3.5失败解决方案
- vue打包运行并解决404问题
- 【报告分享】2020人工智能+安防行业应用研究分析报告.pdf(附下载链接)
- github push代码出错fatal: Authentication failed for ‘https:/
- 全球首发!计算机视觉Polygon Mesh Processing总结8——Remeshing Global Structure和Correspondences
- data2vec!统一模态的新里程碑