Maven的学习资料收集--(八) 构建MyBatis项目
在这里,写一下,怎么使用Maven构建MyBatis项目。
1. 新建一个Web项目
可以参考前面的博客
2. 修改pom.xml,添加MyBatis依赖
- <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.deppon.demo</groupId>
- <artifactId>test05</artifactId>
- <packaging>war</packaging>
- <version>0.0.1-SNAPSHOT</version>
- <name>test05 Maven Webapp</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>4.10</version>
- <scope>test</scope>
- </dependency>
- <!-- 添加MyBatis依赖 -->
- <dependency>
- <groupId>org.mybatis</groupId>
- <artifactId>mybatis</artifactId>
- <version>3.1.1</version>
- </dependency>
- <dependency>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- <version>1.2.16</version>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- <version>1.6.1</version>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-nop</artifactId>
- <version>1.6.4</version>
- </dependency>
- </dependencies>
- <build>
- <finalName>test05</finalName>
- </build>
- </project>
3. 添加mybatis-config.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">
- <configuration>
- <!-- 全局别名设置,在映射文件中只需写别名,而不必写出整个类路径 -->
- <typeAliases>
- <typeAlias type="com.deppon.test05.entity.PersonEntity" alias="PersonEntity"/>
- </typeAliases>
- <environments default="development">
- <environment id="development">
- <transactionManager type="JDBC" />
- <dataSource type="POOLED">
- <property name="driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver" />
- <property name="url" value="jdbc:sqlserver://localhost:1433;DatabaseName=Demo" />
- <property name="username" value="ygy" />
- <property name="password" value="shishi" />
- </dataSource>
- </environment>
- </environments>
- <mappers>
- <mapper resource="com/deppon/test05/mapper/PersonEntityMapper.xml" />
- </mappers>
- </configuration>
PersonEntityMapper.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="com.deppon.test05.mapper.PersonEntityMapper">
- <!-- 查询所有用户 -->
- <select id="queryAll" resultType="PersonEntity" >
- select * from t_person
- </select>
- <!-- 插入一条记录 -->
- <insert id="insert" parameterType="PersonEntity">
- insert into t_person(id , name) values(#{id} , #{name})
- </insert>
- </mapper>
IPersonEntityDao.java
- package com.deppon.test05.dao;
- import java.util.List;
- import com.deppon.test05.entity.PersonEntity;
- public interface IPersonEntityDao {
- /**
- * 插入一条记录
- * @param person
- */
- public void insert(PersonEntity person);
- /**
- * 查询所有记录
- * @return
- */
- public List<PersonEntity> queryAll();
- }
PersonEntityDao.java
- package com.deppon.test05.dao.impl;
- import java.util.List;
- import org.apache.ibatis.session.SqlSession;
- import com.deppon.test05.dao.IPersonEntityDao;
- import com.deppon.test05.entity.PersonEntity;
- import com.deppon.test05.util.MyBatisUtil;
- public class PersonEntityDao implements IPersonEntityDao {
- public static final String NAMESPACE = "com.deppon.test05.mapper.PersonEntityMapper";
- @Override
- public void insert(PersonEntity person) {
- SqlSession session = MyBatisUtil.getSession();
- session.insert(NAMESPACE + ".insert" , person);
- session.commit();
- session.close();
- }
- @Override
- public List<PersonEntity> queryAll() {
- SqlSession session = MyBatisUtil.getSession();
- List<PersonEntity> personList = session.selectList(NAMESPACE + ".queryAll");
- session.commit();
- session.close();
- return personList;
- }
- }
PersonEntity.java
- package com.deppon.test05.entity;
- public class PersonEntity implements java.io.Serializable {
- private static final long serialVersionUID = -1138245964662330288L;
- private Integer id;
- private String name;
- public Integer getId() {
- return id;
- }
- public void setId(Integer id) {
- this.id = id;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- @Override
- public String toString() {
- return "PersonEntity [id=" + id + ", name=" + name + "]";
- }
- }
MyBatisUtil.java
- package com.deppon.test05.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 MyBatisUtil {
- private static SqlSessionFactory factory = null;
- private static void initialFactory() {
- String resource = "mybatis-config.xml";
- try {
- InputStream in = Resources.getResourceAsStream(resource);
- factory = new SqlSessionFactoryBuilder().build(in);
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- public static SqlSession getSession() {
- if(factory == null) {
- initialFactory();
- }
- return factory.openSession();
- }
- }
测试程序:
- package com.deppon.test05.dao;
- import java.util.List;
- import org.junit.Before;
- import org.junit.Test;
- import com.deppon.test05.dao.impl.PersonEntityDao;
- import com.deppon.test05.entity.PersonEntity;
- public class PersonEntityDaoTest {
- private IPersonEntityDao personEntityDao;
- @Before
- public void before() {
- personEntityDao = new PersonEntityDao();
- }
- @Test
- public void testQueryAll() {
- List<PersonEntity> personList = personEntityDao.queryAll();
- for(PersonEntity each : personList) {
- System.out.println(each);
- }
- }
- @Test
- public void testInsert() {
- PersonEntity person = new PersonEntity();
- person.setId(200);
- person.setName("乔巴");
- personEntityDao.insert(person);
- }
- }
项目结构如下图所示:

注意:记得那两条命令哦,亲
(前面的博客有)
结果:

Maven的学习资料收集--(八) 构建MyBatis项目的更多相关文章
- Maven的学习资料收集--(九) 构建SSH项目以及专栏maven
在这里整合一下,使用Maven构建一个SSH项目 1.新建一个Web项目 可以参照前面的博客 2.添加依赖,修改pom.xml <project xmlns="http://maven ...
- Maven的学习资料收集--(七) 构建Spring项目
在这里,使用Maven构建一个Spring项目 构建单独项目的话,其实都差不多 1. 新建一个Web项目 参考之前的博客 2.修改 pom.xml,添加Spring依赖 <project xml ...
- Maven的学习资料收集--(十)Myeclipse下创建Maven的Web项目
先要在MyEclipse中对Maven进行设置: 到此Maven对MyEclipse的支持设置完毕. 下面我们在MyEclipse中创建一个Maven标准的Web工程: New --> We ...
- Maven的学习资料收集--(五)使用Maven构建Struts2项目
在前两篇博客中,使用Maven构建了Web项目,在这篇博客中写一下,怎样构建一个简单的Struts2项目. 在准备过程中发现,要使用好Maven,个人觉得要好好利用这两个网站: http://mvnr ...
- Maven的学习资料收集--(三)使用Maven构建Web项目
新建Maven项目 File - New - Other 选择Maven Project 单击Next 保持默认即可单击Next 选择Archetype为 web app单击Next 输入一些必要信息 ...
- Maven的学习资料收集--(六) 构建Hibernate项目
前面我们使用Maven构建了Struts2项目,这里我们来试一下Hibernate项目: 这里的例子,大体框架应该是正确的,但是,对于Maven的很多约定都没有掌握,估计包的命名都不是非常好,等以后, ...
- Maven的学习资料收集--(四)使用Maven构建Web项目-测试
2014-08-04 23:21 2人阅读 评论(0) 收藏 编辑 删除 目录(?)[+] [-] 在srcmainjava下新建一个Servlet 修改webxml 新建JSP 测试 在 ...
- Maven的学习资料收集--(一)环境搭建
这几天在做项目的时候用到了maven,但是自己没有从来没有接触过,所以咋网上找资料,终于找到了一下的资料,这个是别人总结的,我只是转载过来积累.请尊重原创. 官网地址:http://maven.apa ...
- Maven的学习资料收集--(二)安装m2eclipse插件
在Eclipse中可以安装Maven插件,可以更方便的使用: 官网地址:http://www.eclipse.org/m2e/ 可以在线安装或者离线下载,之前在线安装总是失败,可能是网速的原因,找到了 ...
随机推荐
- modbus读输入状态与读线圈状态的区别?
01 读线圈状态 描述 读从机离散量输出口的 ON/OFF 状态,不支持广播.附录B列出由不同控制器型号支持最大的参数清单. 查询 查询信息规定了要读的起始线圈和线圈量,线圈的起始地址为零,1-16个 ...
- TreeSet 和TreeMap 排序
TreeSet 有两种排序方式 1. Java.lang.Comparble+compareTo new TreeSet() 用这种方法必须要求实体类实现Comparable接口,也就是说要求添加到T ...
- nfs(Network FileSystem)的简单配置
如果想要在window和linux之间共享文件,那么用samba.如果仅仅想在Unix like系统之间共享文件,那么可以用NFS. 这篇文章分为两个部分,第一部分只是简单的用:照着写的步骤一步步来就 ...
- PCLVisualizer可视化类(4)
博客转载自:http://www.pclcn.org/study/shownews.php?lang=cn&id=168 多视口显示 所示,并进行比较分析,利用不同的搜索半径,基于同一点云计算 ...
- CSS, Sass, SCSS 关系
Sass(Syntactically Awesome Style Sheets) ,是一种css预处理器和一种语言, 它可以用来定义一套新的语法规则和函数,以加强和提升CSS. 它有很多很好的特性,但 ...
- 当有“Button1.Attributes.Add("onclick", "return confirm('你确定要保存修改吗?')");”时,验证控件失效的解决方法
同一个页面用Js和服务器验证控件OnClientClick提交问题 实现功能: 点击Button按钮的OnClientClick事件,不会影响服务器验证控件的验证功能 ...
- HTTP协议格式及基础
HTTP请求数据: HTTP请求信息由3部分组成: ① 请求方法 URI 协议/版本 ② 请求头(Request Header) ③ 请求正文 HTTP 请求 数据 例子举例: GET/sam ...
- EasyOffice-.NetCore一行代码导入导出Excel,生成Word
简介 Excel和Word操作在开发过程中经常需要使用,这类工作不涉及到核心业务,但又往往不可缺少.以往的开发方式在业务代码中直接引入NPOI.Aspose或者其他第三方库,工作繁琐,耗时多,扩展性差 ...
- VS Code 缩小
一.问题描述 当我们在使用 Visual Studio Code 时,放大,我们可以使用 “ CTRL + ” 快捷键来实现.在使用 “ CRRL - ” 快捷键,缩小不了,我们怎么办? 二.解决方案 ...
- [CentOS7] firewalld重启失败 Failed to start firewalld - dynamic firewall daemon.
错误信息: Failed to start firewalld - dynamic firewall daemon. 如图: 解决方法: 也就是kernel不支持现在的firewall防火墙的某些模块 ...