2016년 6월 20일 월요일

memo




create table schema1.user (id varchar(12) not null, pw varchar(12) not null,name varchar(24) not null, address varchar(100), primary key(id))


insert into schema1.user values ('admin','admin','adminName','in japan')

spring


1. 動的Webプロジェクト生成
   (tomcat 1.8選択)

2.  プロジェクトの構成からMavenに変更

3. pom.xmlの依存関係設定
   spring-web
   spring-webmvc
   jstl
   commons-logging

4. プロジェクトの実行 --> Maven Install

5. index.jsp
Webcontent/index.jsp
---------------------------------------------------------------------------
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<script type="text/javascript">
function send(ele){
ele.submit;
}
</script>
<h3>login</h3>
<form name="frm" action="login.do" method="post">
id <input type="text" maxlength="6" size="6" name="id">
pw <input type="password" maxlength="6" size="6" name="pw">
<!-- <input type="submit" value="login">  -->
<button onclick="send('frm');">login</button>
</form>
</body>
</html>
----------------------------------------------------------------------------

6. web.xml
Webcontent/WEB-INF/web.xml
---------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
  <display-name>SpringTest</display-name>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>

    <servlet>
        <servlet-name>springTest</servlet-name>
        <servlet-class>
            org.springframework.web.servlet.DispatcherServlet
        </servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>springTest</servlet-name>
        <url-pattern>/welcome.jsp</url-pattern>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>

</web-app>
----------------------------------------------------------------------------

7.springTest-servlet.xml
Webcontent/WEB-INF/springTest-servlet.xml
----------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
  <display-name>SpringTest</display-name>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>

    <servlet>
        <servlet-name>springTest</servlet-name>
        <servlet-class>
            org.springframework.web.servlet.DispatcherServlet
        </servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>springTest</servlet-name>
        <url-pattern>/welcome.jsp</url-pattern>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>

</web-app>
----------------------------------------------------------------------

8.logon.jsp
Webcontent/WEB-INF/jsp/logon.jsp
----------------------------------------------------------------------
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
${id}, welcome!!!!
</body>
</html>
--------------------------------------------------------------------

9.TestController.java
javaリソース/src/com/controller/TestController.java
-------------------------------------------------------------------
package com.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;

/**
 * <pre>
 * 〖概要〗
 *   テストコントローラ
 * 〖説明〗
 *
 * </pre>
 * @author user
 *
 */
@Controller
public class TestController {

@RequestMapping(value="/login", method=RequestMethod.POST)
public ModelAndView method1(@RequestParam("id") String id){
return new ModelAndView("logon", "id", id);
}

@RequestMapping("/request2")
public ModelAndView method2(){
return new ModelAndView();
}

}
-------------------------------------------------------------------

2016년 6월 19일 일요일

eclipse DBツリービュー設定



eclipse DBツリービュー設定

mysql

データベース定義名 sakila
path  
C:\Users\user\.m2\repository\mysql\mysql-connector-java\5.1.33\mysql-connector-java-5.1.33.jar

JDBC DRIVER:   com.mysql.jdbc.Driver
接続文字列:        jdbc:mysql://localhost:3306/sakila
接続 user            gissn
接続 password     *****
接続スキーマ        sakila


DB2の場合
<classPathEntry   location="C:\work\tools\IBM\SQLLIB\java\db2jcc.jar" />
JDBC DRIVER:   com.ibm.db2.jcc.DB2Driver
JDBC  TYPE :    typye4
接続文字列:        jdbc:db2://localhost:50000/TEST1
接続 user            user
接続 password     *****

接続スキーマ        SHEMA1 

※接続エラーの場合↓
管理者権限でDB2 Command windowを開いて、下記実施
db2set DB2COMM=tcpip
db2stop
db2start

=====================================================================================
package MyBatisSample.MyBatisSample;
import java.sql.Connection;
import java.sql.DriverManager;

public class Test {
    public static void main(String[] args) {
String url = "jdbc:db2://localhost:50000/TEST1";
        String user = "user";
        String pass = "1234";
        String name = "";
        String id="admin";
Connection con = null;
try {
Class.forName("com.ibm.db2.jcc.DB2Driver");
con = DriverManager.getConnection(url, user, pass);
PreparedStatement pre = con.prepareStatement("select * from schema1.user  where id = ?");
pre.setString(1, id);
ResultSet rs = pre.executeQuery();
while (rs.next()) {
name = rs.getString("name");
System.out.printf("name: %s",name);
}

} catch (Exception  e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
}
con.close();
//    public static void main(String[] args) {
//        try {
//            String url = "jdbc:mysql://localhost/sakila";
//            String user = "gissn";
//            String pass = "admin";//
//            Class.forName("com.mysql.jdbc.Driver");//
//            Connection con = DriverManager.getConnection(url, user, pass);
//            con.close();//
//            System.out.println("接続成功");
//
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//    }

}
===============================================================







2016년 6월 18일 토요일

MyBatis

MyBatisを使って、entity,daoを自動で作成する。

1.mavenプロジェクト作成
2.pom.xml修正
下記追加
---------------------------------------------------------------
<!-- 追加1 start ※</dependencies>前に-->
    <!-- http://mvnrepository.com/artifact/org.mybatis/mybatis -->
      <dependency>
         <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.0</version>
  </dependency>
<!-- 追加1 end -->

<!-- 追加2 starat  ※ </project>前に-->
    <build>
        <plugins>
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.1</version>
            </plugin>
        </plugins>
    </build>
<!-- 追加2 end -->
-----------------------------------------------------------------------
3.Maven Install
      C:\Users\user\.m2\repositoryにinstallされたこと確認
  Maven依存関係
   mybatis-3.4.0.jar ー--> 追加されたこと確認
4. resources追加(src/main/resources/)
    ・mybatis-config.xml,
    ・generatorConfig.xml

------------- 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>

<!--     JDBCの設定です(1) -->
    <environments default="gissn">
        <environment id="gissn">
            <transactionManager type="JDBC" />
            <dataSource type="POOLED">
                <property name="driver" value="oracle.jdbc.driver.OracleDriver" />
                <property name="url" value="jdbc:oracle:thin:@xxx.xxx.xx.x:1521:ORCL1" />
                <property name="username" value="gissn" />
                <property name="password" value="gissn" />
            </dataSource>
        </environment>
    </environments>

<!--     エンティティのパッケージを指定します -->
    <mappers>
        <package name="com.example.entity" />
    </mappers>

</configuration>
-----------------------------generatorConfig-------------------------------------
xxx.xxx.xx.x --> localhost

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd" >
<generatorConfiguration>
    <classPathEntry      location="C:\work\tools\oracle\app\oracle\product\11.2.0\server\jdbc\lib\ojdbc6.jar" />
    <context id="context1">

<!--     JDBCの設定です (1) -->
        <jdbcConnection
            driverClass="oracle.jdbc.driver.OracleDriver"
            connectionURL="jdbc:oracle:thin:@xxx.xxx.xx.x:1521:ORCL1"
            userId="gissn"
            password="gissn"
        />

<!--     自動生成するエンティティの設定です (2) -->
        <javaModelGenerator
            targetPackage="com.example.entity"
            targetProject="src/main/java/"
        />
        <sqlMapGenerator
            targetPackage="com.example.entity"
            targetProject="src/main/java/"
        />
        <javaClientGenerator
            targetPackage="com.example.entity"
            targetProject="src/main/java/"
            type="XMLMAPPER"
        />

<!--     生成対象のテーブルです(3) -->
        <table schema="gissn" tableName="%" />
    </context>
</generatorConfiguration>

----------------------------------------------------
6.maven ビルドに新規追加し、実行
 ・基底ディレクトリーにmavenプロジェクトのワークスペースを設定
 ・ゴール設定:mybatis-generator:generate

7. 設定path通り、entity,daoが作成されていればOK
------------------------------------------------------------------
レコード検索テスト(myBatis使用しなくて)
・jdbc jarを追加すること
-------------------------------------------------------------------------
package com.MyBatisOracle2;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public class TestOracle {
    public static void main(String[] args) throws Exception{
        //initialize
        Connection conn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;

        //DB connection info
        String path = "jdbc:oracle:thin:@xxx.xxx.xx.x:1521:ORCL1";
        String id = "gissn";  //ID
        String pw = "gissn";  //password

        try{
            //JDBC Driver
            Class.forName("oracle.jdbc.driver.OracleDriver");

            //DB Connect
            conn = DriverManager.getConnection(path, id, pw);

            //SELECT
            ps = conn.prepareStatement("SELECT * FROM table1");
            rs = ps.executeQuery();

            //Column count
            int colCount = rs.getMetaData().getColumnCount();
            System.out.println("Get Column:" + colCount);

            //Output
            while (rs.next()) {
                System.out.println(rs.getInt("col1"));
                System.out.println(rs.getString("col2"));
            }

        } catch(Exception ex) {
            //Exception
            ex.printStackTrace();  //Error
        } finally {
            //Close
            if(rs != null) rs.close();
            if(ps != null) ps.close();
            if(conn != null) conn.close();
        }
    }
}
-------------------------------------------------------------------------
レコード検索テスト(myBatis使用)
・jdbc jarを追加すること
-------------------------------------------------------------------------

package com.MyBatisOracle2;
import java.io.IOException;
import java.io.Reader;
import java.util.List;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import com.example.entity.Table1;
import com.example.entity.Table1Example;
import com.example.entity.Table1Example.Criteria;
import com.example.entity.Table1Mapper;

 public class TestOracle2 {
     public static void main(String[] args) {

         // resources直下のmybatis-config.xmlを読み込みます(1)
         try (Reader r = Resources.getResourceAsReader("mybatis-config.xml");) {

             // 読み込んだ設定ファイルからSqlSessionFactoryを生成します(2)
             SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(r);

             // SQLセッションを取得します(3)
             try (SqlSession session = factory.openSession()) {

                 // Table1テーブルのMapperを取得します(4)
                 Table1Mapper map = session.getMapper(Table1Mapper.class);
                 // レコードを検索します(5)
                 Table1Example ex = new Table1Example();
                 Criteria cr = ex.createCriteria();
                 //cr.andCol1EqualTo(new Long(2));
                 cr.andCol1IsNotNull();

                 List<Table1> list = map.selectByExample(ex);

                 // 取得した内容を確認します
                 for (Table1 table1 : list) {
                  System.out.println("col1   = " + table1.getCol1());
                  System.out.println("col2  = " + table1.getCol2());
     }

             }
         } catch (IOException e) {
             e.printStackTrace();
         }
     }
 }
-----------------------------------------------------------------------------------------


http://www.casleyconsulting.co.jp/blog-engineer/java/

http://www.casleyconsulting.co.jp/blog-engineer/java/mybatis3mybatis%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%BF%E3%82%88%E3%81%86/



MyBatisとは
MyBatisとはJavaのフレームワークのひとつで、O/RMapperという分類になります。
O/RMapperとは、Object/Relational Mapperの略で、ざっくり言うとJava(Object)と
関係データベース(Relational)を紐付ける機能(Mapper)です。
表形式であるSQLの実行結果をどのようにJavaのクラスに当てはめるか、
またJavaから受け渡されたパラメータをどのようにSQLに反映するかといった設定をしておくことが出来ます。
これによりJavaのプログラムからSQLを発行して、実施結果を取得する際、
Java側はSQL部分を意識せずに処理を記述することができ、
逆にSQL側はJavaを意識せずにSQL文を記述できるのが利点です。
MyBatisはそのほかにSpringFrameworkなどアノテーションを利用したDI(依存性の注入)がサポートされていたり、
XMLに記載したSQLにパラメータや分岐、繰り返しなどの制御を加えることが可能になっています。
詳しくはこちら(公式:http://www.mybatis.org/mybatis-3/ja/)


事前準備
Java SE 8 (JDK1.8)
Eclipse4.4 (Maven※1 を使うのでご使用のEclipseにMavenプラグインが無ければ別途インストールしてください。面倒なかたはAllInOneEclipseでも大丈夫です。 Pleiades公式:https://mergedoc.osdn.jp/)
MySQL Community Server5.7 (公式:https://www-jp.mysql.com/)
Sakilaデータベース※2(MySQLがインストールされているのにいない場合はこちらからダウンロードできます:http://dev.mysql.com/doc/index-other.html)


http://studyforus.tistory.com/263

mysql

mysql> SOURCE C:/temp/sakila-db/sakila-schema.sql;

mysql> USE sakila;
Database changed

mysql> SHOW TABLES;
+----------------------------+
| Tables_in_sakila           |
+----------------------------+
| actor                      |
| address                    |
| category                   |
| city                       |
| country                    |
| customer                   |
| customer_list              |
| film                       |
| film_actor                 |
| film_category              |
| film_list                  |
| film_text                  |
| inventory                  |
| language                   |
| nicer_but_slower_film_list |
| payment                    |
| rental                     |
| sales_by_film_category     |
| sales_by_store             |
| staff                      |
| staff_list                 |
| store                      |
+----------------------------+
22 rows in set (0.00 sec)

mysql> SELECT COUNT(*) FROM film;
+----------+
| COUNT(*) |
+----------+
| 1000     |
+----------+
1 row in set (0.02 sec)

mysql> SELECT COUNT(*) FROM film_text;
+----------+
| COUNT(*) |
+----------+
| 1000     |
+----------+
1 row in set (0.00 sec)

C:\Users\user\.m2\repository\mysql\mysql-connector-java\5.1.33\


eclipse DBツリービュー設定

データベース定義名 sakila
path 
C:\Users\user\.m2\repository\mysql\mysql-connector-java\5.1.33\mysql-connector-java-5.1.33.jar

JDBC DRIVER:   com.mysql.jdbc.Driver
接続文字列:        jdbc:mysql://localhost:3306/sakila
接続 user            gissn
接続 password     *****
接続スキーマ        sakila


DB2の場合
<classPathEntry   location="C:\work\tools\IBM\SQLLIB\java\db2jcc.jar" />


JDBC DRIVER:   com.ibm.db2.jcc.DB2Driver
JDBC  TYPE :    typye4
接続文字列:        jdbc:db2://localhost:50000/TEST1
接続 user            user
接続 password     *****

接続スキーマ        SHEMA1






작성자: Ssn Gi 시간: 오후 11:01 댓글 없음: 
이메일로 전송
BlogThis!
Twitter에서 공유
Facebook에서 공유
Pinterest에 공유

2016년 11월 5일 토요일
MySql




// database作成
create database myspring;

// database 参照
select database();

// database使用
use myspring;

// テーブル参照;
show tables;

//fileから sql実行
source c:\work\dev\mysql\myspring\user.sql ;
---------------------------------------------------------------
CREATE TABLE myspring.user
(
    user_id                    VARCHAR(12) NOT NULL,
    user_password              VARCHAR(12) NOT NULL,
    first_name                  VARCHAR(45) ,
    last_name                   VARCHAR(45) ,
    last_update                 TIMESTAMP(0),
    CONSTRAINT PRIMARY KEY (user_id)
);
----------------------------------------------------------------

eclipse
 実行構成
Mavenビルド
基底ディレクトリ →   ${workspace_loc:/MySpring}
ゴール   → mybatis-generator:generate
작성자: Ssn Gi 시간: 오전 9:19 댓글 없음: 
이메일로 전송
BlogThis!
Twitter에서 공유
Facebook에서 공유
Pinterest에 공유

MySql




// database作成
create database myspring;

// database 参照
select database();

// database使用
use myspring;

// テーブル参照;
show tables;

//fileから sql実行
source c:\work\dev\mysql\myspring\user.sql ;
---------------------------------------------------------------
CREATE TABLE myspring.user
(
    user_id                    VARCHAR(12) NOT NULL,
    user_password              VARCHAR(12) NOT NULL,
    first_name                  VARCHAR(45) ,
    last_name                   VARCHAR(45) ,
    last_update                 TIMESTAMP(0),
    CONSTRAINT PRIMARY KEY (user_id)
);
----------------------------------------------------------------

eclipse
 実行構成
Mavenビルド
基底ディレクトリ →   ${workspace_loc:/MySpring}
ゴール   → mybatis-generator:generate

eclipse ショートカットキー

http://www.casleyconsulting.co.jp/blog-engineer/java/%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%AD%E3%83%BC%E3%82%92%E9%A7%86%E4%BD%BF%E3%81%97%E3%80%81%E3%82%B3%E3%83%BC%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0%E3%81%AB%E5%B7%AE/#more-5777


補完機能を利用する [Ctrl + Space]

補完機能は名称の以外に、文法(if文やfor文)や特殊なキーワード(main、sysout)などもあり、身に着けておくと非常に素早いコーディングが行えます。

変数名、メソッド名を一括変更する [Alt + Shift + r]


指定行の削除をする [Ctrl + d]


直前、直後に開いたソースに移動する [Alt + → or ←]


呼び出し元階層を開く [Ctrl + Alt + h]

import文を一括編成する [Ctrl + Shift + o]

コードの体裁を整える(自動フォーマット) [Ctrl + Shift + f]


行単位のソースを移動する [Alt + ↑ or ↓]


対応する括弧に移動する [Ctrl + Shift + p]

Javadocコメントの追加 [Alt + Shift + j]