注:本文参考了孤傲苍狼关于MyBatis学习总结,在此表示感谢,原文链接为http://www.cnblogs.com/xdp-gacl/p/4261895.html。

1、新建project,勾选create from archetype,选择org.apache.maven.archetypes:maven-archetype-quickstart。

填写GroupId: com.wuhao.database,ArtifactId: mysql,version: 1.0-snapshot。

2、修改pom.xml文件,增加external libraries: mysql以及org.mybatis。pom.xml文件内容如下:

<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.wuhao.database</groupId>
<artifactId>mysql</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging> <name>mysql</name>
<url>http://maven.apache.org</url> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties> <dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency> <dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.18</version>
</dependency> <dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.1.1</version>
</dependency>
</dependencies>
</project>

pom.xml

3、在src/main/resources目录下创建conf.xml文件: 主要用来配置mysql数据库信息等功能(通过调用db.properties配置文件)。

在src/main/resources/com/wuhao/database目录下创建userMapper.xml文件: 用来实现数据表的create、remove、update、select功能。

在src/main/resources/com/wuhao/database目录下创建db.properties文件,里面包含连接数据库的信息。

具体的注释见代码。

<?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> <!-- 引用db.properties配置文件 -->
<properties resource="com/wuhao/database/db.properties" /> <!-- 配置实体类的别名。注意<typeAliases>的位置,需要放在<configuration>标签下面靠前的位置,<properties>标签后面,
<environments>以及<mappers>标签前面。
-->
<typeAliases>
<!-- 以下2种方法选其一即可。 第1种方法:使用typeAlias,为单个类设置别名。 -->
<typeAlias type="com.wuhao.database.entity.User" alias="User" />
<!-- 第2种方法:使用package,为包下面的所有类设置别名,默认规则为com.wuhao.database.entity.User设置为User,去除前面的包名。 -->
<!-- <package name="com.wuhao.database.entity" /> -->
</typeAliases> <!--
development : 开发模式;
work : 工作模式
-->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<!-- 配置数据库连接信息,${driver}等变量名需要在引用的配置文件中找 -->
<dataSource type="POOLED">
<property name="driver" value="${driver}" />
<property name="url" value="${url}" />
<property name="username" value="${username}" />
<property name="password" value="${password}" />
</dataSource>
</environment>
</environments> <mappers>
<!-- 注册petMapper.xml文件,petMapper.xml位于com.wuhao.database这个包下,所以resource写成
com/wuhao/database/petMapper.xml -->
<mapper resource="com/wuhao/database/userMapper.xml" /> <!-- 注册UserMapper映射接口 -->
<mapper class="com.wuhao.database.dao.UserMapperInterface" /> </mappers> </configuration>

conf.xml

<?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,namespace的值习惯上设置成包名+sql映射文件名,这样就能够保证namespace的值是唯一的
例如namespace="me.gacl.mapping.userMapper"就是me.gacl.mapping(包名)+userMapper(userMapper.xml文件去除后缀)
-->
<mapper namespace="com.wuhao.database.userMapper">
<!-- 在select标签中编写查询的SQL语句, 设置select标签的id属性为getUser,id属性值必须是唯一的,不能够重复
使用parameterType属性指明查询时使用的参数类型,resultType属性指明查询返回的结果集类型
resultType="me.gacl.entity.User"就表示将查询结果封装成一个User类的对象返回
User类就是users表所对应的实体类
--> <!-- 创建用户 -->
<insert id="addUser" parameterType="User">
insert into user(id, username, password, email) VALUES (#{id}, #{username}, #{password}, #{email})
</insert> <!-- 删除用户 -->
<delete id="deleteUser" parameterType="String">
delete from user where id = #{id}
</delete> <!-- 修改用户 -->
<update id="updateUser" parameterType="User">
update user set username = #{username}, password = #{password}, email = #{email} where id = #{id}
</update> <!-- 根据id查询得到一个User对象 -->
<select id="getUser" parameterType="String" resultType="User">
select * from user where id = #{id}
</select> <!-- 查询所有用户 -->
<select id="getAllUsers" resultType="User">
select * from user
</select> </mapper>

userMapper.xml

driver = com.mysql.jdbc.Driver
url = jdbc:mysql://localhost:3306/mytest
username = root
password = 333

db.properties

4、创建基本的各种类和接口,User类,UserDao类,UserMapperInterface接口,以及用于测试的TestUserByAnnotationMapper类以及TestUserByXmlMapper类。整个目录结构如下图:

5、mytest数据库中创建表: user。

6、附源码mysql.zip。

IntelliJ IDEA配置maven3.3.3+mybatis3.1.1的更多相关文章

  1. IntellIJ IDEA 配置 Maven 以及 修改 默认 Repository

    转自:IntellIJ IDEA 配置 Maven 以及 修改 默认 Repository 今天将IntellIJ IDEA 关于Maven的配置总结一下,方便以后可参考. IDEA版本: Intel ...

  2. IntelliJ IDEA 配置运行程序

    IntelliJ IDEA 对于Javaer开发来说还是很nice的,就是第一次用可能配置项有点生疏,这里就记录一下IntelliJ IDEA 配置运行程序. 1. 点击Edit Config... ...

  3. IntelliJ IDEA 配置maven

    以下内容引自http://blog.csdn.net/qq_32588349/article/details/51461182. 使用IntelliJ IDEA 配置Maven(入门)         ...

  4. 使用IntelliJ IDEA 配置Maven(转)

    1. 下载Maven 官方地址:http://maven.apache.org/download.cgi 解压并新建一个本地仓库文件夹 2.配置本地仓库路径 3.配置maven环境变量 4.在Inte ...

  5. Intellij IDEA 配置Tomcat远程调试

    一.前言 在服务器端开发过程中,由于服务器环境差异导致运行结果不符合预期. 所以就需要到IDEA Debug 服务器代码.看起来貌似很高大上的事情. 今天就说说使用Intellij IDEA 配置的方 ...

  6. Mac下Tomcat安装与Intellij IDEA配置Tomcat

    Mac下Tomcat安装与Intellij IDEA配置Tomcat 一 安装 1 下载地址:https://tomcat.apache.org/download-90.cgi 2 将压缩包解压后移至 ...

  7. IntellIJ IDEA 配置 Vue 支持 打开Vue项目

    [参考]零基础 Vue 开发环境搭建 打开运行Vue项目 IDEA版本: IntelliJ IDEA 2017.2 Windows 7 X64 IntelliJ IDEA下载地址:https://ww ...

  8. 使用IntelliJ IDEA 配置Maven(转)

    原文地址:使用IntelliJ IDEA 配置Maven 1. 下载Maven 官方地址:http://maven.apache.org/download.cgi 解压并新建一个本地仓库文件夹 2.配 ...

  9. IntelliJ idea配置python

    为什么选择Intellij?因为我需要系统地管理python工程,Intellij可断点调试. 1.下载IntelliJ idea 在百度中搜索“IntelliJ idea”,并点击官网地址进行下载: ...

随机推荐

  1. Codeforces 658A. Robbers' watch 模拟

    A. Robbers' watch time limit per test: 2 seconds memory limit per test: 256 megabytes input: standar ...

  2. eclipse新建web项目,发布 run as 方式和 new server然后添加项目方式。 后者无法自动编译java 成class文件到classes包下。

    eclipse新建web项目,发布 run as 方式和 new server然后添加项目方式. 后者无法自动编译java 成class文件到classes包下. 建议使用run as  -  run ...

  3. 2018秋季c语言基础课第一次作业

    1)大学和高中最大的不同是没有人天天看着你,请看大学理想的师生关系是?有何感想? 答:邹欣老师提到了很多种关系,不外呼就是两种:平等或者不平等.平等的师生关系与陌生人无异,而自古以来尊师重道却被世人所 ...

  4. 2018.07.04 POJ 1265 Area(计算几何)

    Area Time Limit: 1000MS Memory Limit: 10000K Description Being well known for its highly innovative ...

  5. 2018.07.18 [NOI2018]归程(return)(kruskal重构树)

    传送门 新鲜出炉的noi2018试题. 下面讲讲这题的解法: 首先要学习一个叫做kruskal重构树的东东. 听名字就知道跟kruskal算法有关,没错,原来的kruskal算法就是用并查集实现的,但 ...

  6. yii2 beforeAction 重定向问题

    不跳转代码:return $this->redirect('http://www.yiichina.com/'); 跳转代码:return $this->redirect('http:// ...

  7. Radius 中 与Response Authernticator 与 Message-Authenticator的计算

    /* String RequestStr3 = @"01 00 00 9E EB B2 E8 D9 1E 52 10 03 FB E1 52 39 27 58 93 F0 01 0E 33 ...

  8. a标签点击后,保证后来的样式

    在个人中心中,左侧的菜单(a标签),点击之后,不能够应用新的样式 而在静态界面html 中表现正常,在修改成动态的就不行了 可能是a标签链接经过了后台,当前页面的this对象发生了变化,所以就不能够像 ...

  9. js继承——扩展Object方式实现继承

    function Parent(name,sex){ this.name = name; this.sex = sex; this.sayName = function(){ console.log( ...

  10. 7系列GTX中的疑惑

    1.PCOMMA与MCOMMA指什么? PCOMMA是指RD-部分的数据,MCOMMA是指RD+部分的数据. 2.risk信号作用? risk信号来指示有效的K码. 如果不选择用8b10b来编码,是需 ...