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" />
DB2の場合
<classPathEntry location="C:\work\tools\IBM\SQLLIB\java\db2jcc.jar" />
JDBC DRIVER: com.ibm.db2.jcc.DB2Driver
JDBC TYPE : typye4
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();
// }
// }
}
※接続エラーの場合↓
管理者権限で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
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]
피드 구독하기:
글 (Atom)