maven与eclipse的集成
由于篇幅问题,本文将不介绍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"/>
<!--&符号将转义为& -->
<property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis?useUnicode=true&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();
}
}
最新文章
- Hadoop学习之旅二:HDFS
- 源码编译安装postgresql
- C# DateTime.ToString的坑
- pytessact 出现Error2错误
- SystemInfo.deviceUniqueIdentifier 返回机器码
- 转载 JQuery中attr属性和JQuery.data()学习
- C# CLRInsideOut 托管代码与非托管代码互操作,产生相关调用代码的好工具 C++ 头文件转C# 的好工具(转
- sql执行超时处理
- AMH4.2免费版手动编译升级Nginx1.8版本方法
- Python开发【第十篇】:CSS --无内容点击-不进去(一)
- 写一方法计算实现任意个整数之和.在主调函数中调用该函数,实现任意个数之和。(使用params参数)
- ios7禁止默认划动返回
- 腾讯AlloyTeam正式发布pasition - 制作酷炫Path过渡动画
- Chrome浏览器扩展开发系列之十:桌面通知Notification
- 如何打开JSP文件/JS和JSP的区别/Servlet的本质是什么,是如何工作的?
- File初识和练习
- 【Hbase学习之四】Hbase表设计案例
- 使用fastjson,gson解析null值的时候键保留
- Discuz常见小问题-如何批量加精,置顶帖子
- Web服务端开发需要考虑的问题(续)