1. 程式人生 > >maven與eclipse的集成

maven與eclipse的集成

https .so mpi url 其中 策略 服務 comm 介紹

由於篇幅問題,本文將不介紹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();
    }
}

maven與eclipse的集成