在这里,写一下,怎么使用Maven构建MyBatis项目。

1. 新建一个Web项目

可以参考前面的博客

2. 修改pom.xml,添加MyBatis依赖

  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  3. <modelVersion>4.0.0</modelVersion>
  4. <groupId>com.deppon.demo</groupId>
  5. <artifactId>test05</artifactId>
  6. <packaging>war</packaging>
  7. <version>0.0.1-SNAPSHOT</version>
  8. <name>test05 Maven Webapp</name>
  9. <url>http://maven.apache.org</url>
  10. <!-- 属性配置 -->
  11. <properties>
  12. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  13. </properties>
  14. <dependencies>
  15. <dependency>
  16. <groupId>junit</groupId>
  17. <artifactId>junit</artifactId>
  18. <version>4.10</version>
  19. <scope>test</scope>
  20. </dependency>
  21. <!-- 添加MyBatis依赖 -->
  22. <dependency>
  23. <groupId>org.mybatis</groupId>
  24. <artifactId>mybatis</artifactId>
  25. <version>3.1.1</version>
  26. </dependency>
  27. <dependency>
  28. <groupId>log4j</groupId>
  29. <artifactId>log4j</artifactId>
  30. <version>1.2.16</version>
  31. </dependency>
  32. <dependency>
  33. <groupId>org.slf4j</groupId>
  34. <artifactId>slf4j-api</artifactId>
  35. <version>1.6.1</version>
  36. </dependency>
  37. <dependency>
  38. <groupId>org.slf4j</groupId>
  39. <artifactId>slf4j-nop</artifactId>
  40. <version>1.6.4</version>
  41. </dependency>
  42. </dependencies>
  43. <build>
  44. <finalName>test05</finalName>
  45. </build>
  46. </project>

3. 添加mybatis-config.xml

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE configuration
  3. PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-config.dtd">
  5. <configuration>
  6. <!-- 全局别名设置,在映射文件中只需写别名,而不必写出整个类路径  -->
  7. <typeAliases>
  8. <typeAlias type="com.deppon.test05.entity.PersonEntity" alias="PersonEntity"/>
  9. </typeAliases>
  10. <environments default="development">
  11. <environment id="development">
  12. <transactionManager type="JDBC" />
  13. <dataSource type="POOLED">
  14. <property name="driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver" />
  15. <property name="url" value="jdbc:sqlserver://localhost:1433;DatabaseName=Demo" />
  16. <property name="username" value="ygy" />
  17. <property name="password" value="shishi" />
  18. </dataSource>
  19. </environment>
  20. </environments>
  21. <mappers>
  22. <mapper resource="com/deppon/test05/mapper/PersonEntityMapper.xml" />
  23. </mappers>
  24. </configuration>

PersonEntityMapper.xml

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.deppon.test05.mapper.PersonEntityMapper">
  6. <!-- 查询所有用户 -->
  7. <select id="queryAll" resultType="PersonEntity" >
  8. select * from t_person
  9. </select>
  10. <!-- 插入一条记录 -->
  11. <insert id="insert" parameterType="PersonEntity">
  12. insert into t_person(id , name) values(#{id} , #{name})
  13. </insert>
  14. </mapper>

IPersonEntityDao.java

  1. package com.deppon.test05.dao;
  2. import java.util.List;
  3. import com.deppon.test05.entity.PersonEntity;
  4. public interface IPersonEntityDao {
  5. /**
  6. * 插入一条记录
  7. * @param person
  8. */
  9. public void insert(PersonEntity person);
  10. /**
  11. * 查询所有记录
  12. * @return
  13. */
  14. public List<PersonEntity> queryAll();
  15. }

PersonEntityDao.java

  1. package com.deppon.test05.dao.impl;
  2. import java.util.List;
  3. import org.apache.ibatis.session.SqlSession;
  4. import com.deppon.test05.dao.IPersonEntityDao;
  5. import com.deppon.test05.entity.PersonEntity;
  6. import com.deppon.test05.util.MyBatisUtil;
  7. public class PersonEntityDao implements IPersonEntityDao {
  8. public static final String NAMESPACE = "com.deppon.test05.mapper.PersonEntityMapper";
  9. @Override
  10. public void insert(PersonEntity person) {
  11. SqlSession session = MyBatisUtil.getSession();
  12. session.insert(NAMESPACE + ".insert" , person);
  13. session.commit();
  14. session.close();
  15. }
  16. @Override
  17. public List<PersonEntity> queryAll() {
  18. SqlSession session = MyBatisUtil.getSession();
  19. List<PersonEntity> personList = session.selectList(NAMESPACE + ".queryAll");
  20. session.commit();
  21. session.close();
  22. return personList;
  23. }
  24. }

PersonEntity.java

  1. package com.deppon.test05.entity;
  2. public class PersonEntity implements java.io.Serializable {
  3. private static final long serialVersionUID = -1138245964662330288L;
  4. private Integer id;
  5. private String name;
  6. public Integer getId() {
  7. return id;
  8. }
  9. public void setId(Integer id) {
  10. this.id = id;
  11. }
  12. public String getName() {
  13. return name;
  14. }
  15. public void setName(String name) {
  16. this.name = name;
  17. }
  18. @Override
  19. public String toString() {
  20. return "PersonEntity [id=" + id + ", name=" + name + "]";
  21. }
  22. }

MyBatisUtil.java

  1. package com.deppon.test05.util;
  2. import java.io.IOException;
  3. import java.io.InputStream;
  4. import org.apache.ibatis.io.Resources;
  5. import org.apache.ibatis.session.SqlSession;
  6. import org.apache.ibatis.session.SqlSessionFactory;
  7. import org.apache.ibatis.session.SqlSessionFactoryBuilder;
  8. public class MyBatisUtil {
  9. private static SqlSessionFactory factory = null;
  10. private static void initialFactory() {
  11. String resource = "mybatis-config.xml";
  12. try {
  13. InputStream in = Resources.getResourceAsStream(resource);
  14. factory = new SqlSessionFactoryBuilder().build(in);
  15. } catch (IOException e) {
  16. e.printStackTrace();
  17. }
  18. }
  19. public static SqlSession getSession() {
  20. if(factory == null) {
  21. initialFactory();
  22. }
  23. return factory.openSession();
  24. }
  25. }

测试程序:

  1. package com.deppon.test05.dao;
  2. import java.util.List;
  3. import org.junit.Before;
  4. import org.junit.Test;
  5. import com.deppon.test05.dao.impl.PersonEntityDao;
  6. import com.deppon.test05.entity.PersonEntity;
  7. public class PersonEntityDaoTest {
  8. private IPersonEntityDao personEntityDao;
  9. @Before
  10. public void before() {
  11. personEntityDao = new PersonEntityDao();
  12. }
  13. @Test
  14. public void testQueryAll() {
  15. List<PersonEntity> personList = personEntityDao.queryAll();
  16. for(PersonEntity each : personList) {
  17. System.out.println(each);
  18. }
  19. }
  20. @Test
  21. public void testInsert() {
  22. PersonEntity person = new PersonEntity();
  23. person.setId(200);
  24. person.setName("乔巴");
  25. personEntityDao.insert(person);
  26. }
  27. }

项目结构如下图所示:

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

结果:

Maven的学习资料收集--(八) 构建MyBatis项目的更多相关文章

  1. Maven的学习资料收集--(九) 构建SSH项目以及专栏maven

    在这里整合一下,使用Maven构建一个SSH项目 1.新建一个Web项目 可以参照前面的博客 2.添加依赖,修改pom.xml <project xmlns="http://maven ...

  2. Maven的学习资料收集--(七) 构建Spring项目

    在这里,使用Maven构建一个Spring项目 构建单独项目的话,其实都差不多 1. 新建一个Web项目 参考之前的博客 2.修改 pom.xml,添加Spring依赖 <project xml ...

  3. Maven的学习资料收集--(十)Myeclipse下创建Maven的Web项目

    先要在MyEclipse中对Maven进行设置: 到此Maven对MyEclipse的支持设置完毕.   下面我们在MyEclipse中创建一个Maven标准的Web工程: New --> We ...

  4. Maven的学习资料收集--(五)使用Maven构建Struts2项目

    在前两篇博客中,使用Maven构建了Web项目,在这篇博客中写一下,怎样构建一个简单的Struts2项目. 在准备过程中发现,要使用好Maven,个人觉得要好好利用这两个网站: http://mvnr ...

  5. Maven的学习资料收集--(三)使用Maven构建Web项目

    新建Maven项目 File - New - Other 选择Maven Project 单击Next 保持默认即可单击Next 选择Archetype为 web app单击Next 输入一些必要信息 ...

  6. Maven的学习资料收集--(六) 构建Hibernate项目

    前面我们使用Maven构建了Struts2项目,这里我们来试一下Hibernate项目: 这里的例子,大体框架应该是正确的,但是,对于Maven的很多约定都没有掌握,估计包的命名都不是非常好,等以后, ...

  7. Maven的学习资料收集--(四)使用Maven构建Web项目-测试

    2014-08-04 23:21 2人阅读 评论(0) 收藏 编辑 删除   目录(?)[+]   [-] 在srcmainjava下新建一个Servlet 修改webxml 新建JSP 测试   在 ...

  8. Maven的学习资料收集--(一)环境搭建

    这几天在做项目的时候用到了maven,但是自己没有从来没有接触过,所以咋网上找资料,终于找到了一下的资料,这个是别人总结的,我只是转载过来积累.请尊重原创. 官网地址:http://maven.apa ...

  9. Maven的学习资料收集--(二)安装m2eclipse插件

    在Eclipse中可以安装Maven插件,可以更方便的使用: 官网地址:http://www.eclipse.org/m2e/ 可以在线安装或者离线下载,之前在线安装总是失败,可能是网速的原因,找到了 ...

随机推荐

  1. ES6学习之Iterator和For...of循环

    一.Iterator(它是一种接口,为各种不同的数据结构提供统一的访问机制.Iterator 接口主要供for...of消费) 默认Iterator接口(默认的 Iterator 接口部署在数据结构的 ...

  2. Swift3.0 基础学习梳理笔记(一)

    本篇是我在学完一遍基础语法知识的时候,第一遍复习,我一遍梳理一遍记录的笔记.同时分享给像我一样在学习swift 的猿友们. 本篇可能过于冗长.所以所有的参考资料都分模块的写在palyground 里, ...

  3. overflow: auto;溢出自动显示

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. 关闭socket以及Socket选项

    1 关闭socket ·1)socket套接字使用完毕之后,我们需要将起及时的关闭,正如输入输出流的关闭是一样的:在我上一篇文章中介绍了如何模拟httpClient发送请求数据:这里我还是使用上一篇文 ...

  5. 8、泛型程序设计与c++标准模板库2.5容器适配器

    容器适配器是用来扩展7中基本容器的,是修改和调整其他类接口的类.他们不提供存放数据的实际数据结构的实现方法,而且容器适配器也不支持迭代器. 1.标准栈容器 使用STL中的标准栈为程序员提供了一层附加的 ...

  6. .Net开发中的@ 和 using 使用技巧

    一.@符号的妙用 1.可以作为保留关键字的标识符 C#规范当中,不允许使用保留关键字(class.bool等)当作普通的标识符来命名,这时候@符号作用就体现 出来了,可以通过@符号前缀把这些保留关键字 ...

  7. 使用Log4j2,打包后提示ERROR StatusLogger Log4j2 could not find a logging implementation.

    从Log4j切换到Log4j2,没有打包之前日志输出正常,但是打包后总是提示下面内容: 错误一: ERROR StatusLogger Log4j2 could not find a logging ...

  8. 数学建模美赛O奖论文总结

    Anil S. Damle Colin G. West Eric J. Benzel University of Colorado–Boulder Boulder, CO Advisor: Anne ...

  9. 小R的棋子

    小R的棋子(dp) 数轴上有 n 个位置可以摆放棋子,标号为1,2,3...n.小 R 现在要在一些位置摆放棋子,每个位置最多摆放一个棋子,摆放棋子的总数没有限制.小 R 不希望他摆放的棋子过于拥挤, ...

  10. hdu 5693 D Game

    D Game HDU - 5693 众所周知,度度熊喜欢的字符只有两个:B 和D. 今天,它发明了一个游戏:D游戏. 度度熊的英文并不是很高明,所以这里的D,没什么高深的含义,只是代指等差数列[(等差 ...