Archív

Archive for the ‘IntelliJ IDEA’ Category

Začínáme s JPA 2

2012-11-06 Komentáře vypnuty
  • JPA je pouze standart
  • referenční implementace: EclipseLink
  • další implementací je např. Hibernate
  1. Přidej IDEA > Tools > Data Sources
  2. Vytvoř na serveru připojení k databázi DataSource 
  3. Uprav Maven script pom.xml
    
            <!-- JPA -->
            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>eclipselink</artifactId>
                <version>${eclipselink.version}</version>
                <scope>provided</scope>
            </dependency>
    
            <!-- EclipseLink, http://wiki.eclipse.org/EclipseLink/Maven -->
            <repository>
                <id>EclipseLink</id>
                <url>http://download.eclipse.org/rt/eclipselink/maven.repo</url>
            </repository>
    
  4. Vytvoř POJO třídu (respektive Entitu) Employee.java včetně SET a GET metod
    public class Employee {
    
        private int id;
        private String firstName;
        private String lastName;
    
    
  5. Vytvoř mapovací soubor employee.xml. Pro přehlednost vytvoř stejnou strukturu balíčků ve složce resources jakou máš ve java. Případně použij místo anotace místo xml konfigurace (odstavec na konci).
    <?xml version="1.0" encoding="UTF-8"?>
    <entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm"
                     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                     version="2.0">
    
        <description>The minimal mappings for a persistent entity in XML.</description>
    
        <entity name="Employee" class="com.unfuddle.kamiluv.hr.Employee" access="FIELD">
    
            <!-- Table name -->
            <table name="EMPLOYEES"/>
    
            <!-- Queries -->
            <named-query name="findAllEmployees">
                <query>SELECT e FROM Employee e</query>
            </named-query>
    
            <!-- Attributes -->
            <attributes>
                <id name="id">
                    <column name="EMPLOYEE_ID"/>
                </id>
                <basic name="firstName">
                    <column name="FIRST_NAME"/>
                </basic>
                <basic name="lastName">
                    <column name="LAST_NAME"/>
                </basic>
            </attributes>
    
        </entity>
    
    </entity-mappings>
    
    
  6. Vytvoř src\main\resources\META-INF\persistence.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <persistence xmlns="http://java.sun.com/xml/ns/persistence"
                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                 xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
                 version="2.0">
    
        <persistence-unit name="WebAppPersistenceUnit" transaction-type="JTA">
            <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
            <jta-data-source>jdbc/hr_datasource</jta-data-source>
            <mapping-file>com/wordpress/kamiluv/hr/employee.xml</mapping-file>
            <class>com.wordpress.kamiluv.hr.Employee</class>
    
            <properties>
                <property name="eclipselink.logging.level" value="INFO"/>
            </properties>
    
        </persistence-unit>
    </persistence>
    
    
    • jta-data-source odkazuje na DataSource na serveru (krok 2)
    • pokud je vše v pořádku a IntelliJ IDEA rozpozná JPA configuraci, přidá ikonky pro rychlé přecházení do POJO třídy…

  7. Vytvoř třídu EmployeeDAO
    public class EmployeeDAO {
    
        @PersistenceContext(unitName = "WebAppPersistenceUnit")
        private EntityManager em;
    
        public List<Employee> findAllEmployees() {
            TypedQuery<Employee> query = em.createNamedQuery("findAllEmployees", Employee.class);
            return query.getResultList();
        }
    }
    

Pokud dáváš přednost anotacím před xml konfigurací (bohužel se mi nepodařilo zprovoznit oboji najednou):

  • odstraň tag mapping-file z persistence.xml
  • odstraň konfigurační soubor employee.xml
  • přidej anotace do POJO třídy
    @Entity
    @NamedQuery(name = "findAllEmployees", query = "SELECT e FROM Employee e")
    @Table(name = "EMPLOYEES")
    public class Employee {
    
        @Id
        @Column(name = "EMPLOYEE_ID")
        private int id;
        @Column(name = "FIRST_NAME")
        private String firstName;
        @Column(name = "LAST_NAME")
        private String lastName;
    
        // getters & setters
    }
    
Reklamy

IntelliJ IDEA 11.x Set-Up

2012-04-12 Komentáře vypnuty

Mandatory settings

  • IDEA settings
  1. File > Settings > Compiler > Java Compiler
    • Maximum heap size (MB): 512
  2. File > Settings > Code Style > Java > tab JavaDoc > Other:
    • Tick “Do not wrap one line comments”
  3. File > Settings > Code Style > XML > tab Other:
    • UnTick “Wrap text”
  4. File > Settings > Code Style > Java > tab Imports > General:
    • Enter into “Class count to use import with ‘*’”: 99999
    • Enter into “Names count to use static import with ‘*’”: 99999
  5. File > Settings > File Templates > tab Includes:
    • Change File Header
      /**
      * <<Put comment here>>
      *
      * @author Name
      * ${YEAR}-${MONTH}-${DAY}
      * @version 2.1
      * @since 1.0
      */
  6. File > Settings > Maven
    • Checksum policy: warn
  7. File > Settings > Maven > Runner:
    • Set VM Parameters: -Xmx512m
  • Project settings
  1. File > Project structure:
    • SDKs: Use sign „Plus“ to add JDK path
    • Project: set SDK
    • Project: Project language level

Optional settings

  1. File > Settings > Editor:
    • UnTick “Allow placement of caret after end of line”
    • Tick “Highlight usages of element at caret”
  2. File > Settings > Editor > Appearance:
    • Tick “Show line numbers”
    • Tick “Show method separators”
    • Tick “Show breadcrumbs for XML files”
  3. File > Settings > Editor > Editor Tabs:
    • Increase “Tab limit:” 99 (or higher)

Rubriky:IntelliJ IDEA

Nastavení a struktura Maven projektu

2012-03-14 Komentáře vypnuty

Stažení a nastavení Maven:

  • stáhni a rozbal Maven 2/3
  • nastav M2_HOME & Path v systému |Maven in 5 minutes|
  • v M2_HOME\conf\settings.xml nastav <localRepository>

Základní struktura Maven projektu může vypadat takto:

A tady je základní Maven konfigurák pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<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">

    <modelVersion>4.0.0</modelVersion>

    <groupId>com.wordpress.kamiluv</groupId>
    <artifactId>web-app</artifactId>
    <version>0.1-SNAPSHOT</version>
    <packaging>war</packaging>

    <name>WebApp</name>
    <url>https://kamiluv.wordpress.com</url>
    <description>Some web application.</description>

    <properties>
    </properties>

    <build>
        <plugins>
            <!-- Set Java version, default is 1.3 -->
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                </configuration>
                <version>2.3.2</version>
            </plugin>
            <!-- Newer maven plugin for working with Java 7 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.1.1</version>
            </plugin>
        </plugins>
    </build>

    <dependencies>
    </dependencies>

    <repositories>
    </repositories>

</project>

Na závěr nastavení Source a Test složek v IntelliJ Idea:

Folder setting in IntelliJ Idea

Rubriky:IntelliJ IDEA, Maven