由于篇幅问题,本文将不介绍maven的安装和配置。

一、maven的概念

Maven(翻译为"专家","内行")是跨平台的项目管理工具。主要服务于基于Java平台的项目构建,依赖管理和项目信息管理。

二、maven的目录骨架

三、maven的命令


mvn  compile   编译命令,maven项目编译后会生成一个target文件夹

mvn  test          测试命令

mvn  package      打包命令

mvn  clean           清除编译生成的target文件夹

mvn  install          安装jar包到本地仓库中

与eclipse集成之后就可以在如图所示的位置执行命令

四、maven的仓库以及坐标


1、maven仓库分为本地仓库和远程仓库,maven项目需要使用的jar包都是先从本地仓库中进行查找,如果没有找到,再从远程的maven中心仓库中下载到本地仓库

2、maven坐标是构件的唯一标识,而任何依赖,插件,项目构件的输出都可以被认为是一个构件。

  <groupId>公司地址反写-项目名</groupId>

  <artifactId>项目名-模块名</artifactId>

  <version>版本号</version>

五、eclispe新建maven项目

(这里我将直接改写之前没有使用maven管理的mybatis入门博客的例子,地址为https://www.cnblogs.com/lzxin/p/9589067.html)


1、新建一个maven项目,选择quickstart

2、在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">
<!--每个maven项目都需要的定义,自动生成的 -->
<modelVersion>4.0.0</modelVersion> <groupId>com.lzx.maven</groupId>
<artifactId>mybatis</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging> <name>mybatis</name>
<url>http://maven.apache.org</url> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties> <!--在这里编写有关依赖jar包的坐标 -->
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.46</version>
</dependency>
</dependencies> </project>

3、其他的类和配置信息的代码

User类无变化省略

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>
<!--环境配置,即连接哪种数据库。-->
<environments default="mysql">
<!--用于配置其中的一个环境(原因不太懂,先用着) -->
<environment id="mysql">
<!--设置事务管理类型,使用了JDBC的提交和回滚机制 -->
<transactionManager type="JDBC"/>
<!--dataSource指数据源,POOLED是JDBC连接对象的数据源连接池的实现 -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<!--&amp;符号将转义为& -->
<property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis?useUnicode=true&amp;characterEncoding=utf8"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<!--引入持久化类的映射文件-->
<mappers>
<mapper resource="mapper/UserMapper.xml"/>
</mappers>
</configuration>

UserMapper.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">
<!--命名空间会用于Main类的session代码的增删改查 -->
<mapper namespace="mapper.UserMapper">
<!--parameterType表示传入的参数,使用useGeneratedKeys="true"表示使用数据库的自动增长策略,#{name}表示去参数对象User中name的属性值 -->
<insert id="save" parameterType="com.lzx.maven.mybatis.domin.User" useGeneratedKeys="true">
insert into user(name,sex,age) values(#{name},#{sex},#{age})
</insert>
</mapper>

Main类

public class Main {

    public static void main(String[] args) throws Exception {
new Main().addUser();
} public void addUser() throws Exception{
InputStream inputStream=Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream);
SqlSession session=sqlSessionFactory.openSession();
User user=new User("小明","男",30);
session.insert("mapper.UserMapper.save",user);
//提交事务
session.commit();
//关闭session
session.close();
}
}

最新文章

  1. Hadoop学习之旅二:HDFS
  2. 源码编译安装postgresql
  3. C# DateTime.ToString的坑
  4. pytessact 出现Error2错误
  5. SystemInfo.deviceUniqueIdentifier 返回机器码
  6. 转载 JQuery中attr属性和JQuery.data()学习
  7. C# CLRInsideOut 托管代码与非托管代码互操作,产生相关调用代码的好工具 C++ 头文件转C# 的好工具(转
  8. sql执行超时处理
  9. AMH4.2免费版手动编译升级Nginx1.8版本方法
  10. Python开发【第十篇】:CSS --无内容点击-不进去(一)
  11. 写一方法计算实现任意个整数之和.在主调函数中调用该函数,实现任意个数之和。(使用params参数)
  12. ios7禁止默认划动返回
  13. 腾讯AlloyTeam正式发布pasition - 制作酷炫Path过渡动画
  14. Chrome浏览器扩展开发系列之十:桌面通知Notification
  15. 如何打开JSP文件/JS和JSP的区别/Servlet的本质是什么,是如何工作的?
  16. File初识和练习
  17. 【Hbase学习之四】Hbase表设计案例
  18. 使用fastjson,gson解析null值的时候键保留
  19. Discuz常见小问题-如何批量加精,置顶帖子
  20. Web服务端开发需要考虑的问题(续)

热门文章

  1. 一个很好的网站 有3D漂浮框 有动态小人数字时钟
  2. 关于RabbitMQ的一些问题总结
  3. 五分钟带你读懂 堆 —— heap(内含JavaScript代码实现!!)
  4. 出现 关于UTF-8 序列的字节 2 无效的异常
  5. HLS后端示例
  6. 如何为嵌入式应用选择适当的SSD
  7. halcon——缺陷检测常用方法总结(模板匹配(定位)+差分)
  8. 1738. 找出第 K 大的异或坐标值
  9. 【MySQL】常用的命令
  10. MySQL explain type 连接类型