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(); } }
maven與eclipse的集成