JavaWeb開発:mybatis入門
6699 ワード
【声明:】本文は作者(キノコv 5)のオリジナルで、著作権は作者のキノコv 5の所有で、権利侵害は必ず追及します.本文は先発している.転送する場合は、作者とソースアドレスを明記してください.無断転載は厳禁!mybatis公式サイト
概要:
インストールと使用
操作手順
1、プロファイルの作成
2.データテーブルに基づいて、該当するエンティティークラスを作成する
3、
4、作成
概要:
MyBatis
は、SQL
のカスタマイズ、ストレージ・プロシージャ、および高度なマッピングをサポートする優れた永続層フレームワークです.MyBatis
は、ほとんどのJDBC
コードと手動でパラメータを設定し、結果セットを取得することを回避します.MyBatis
は、単純なXML
または注釈を使用して、生タイプ、インターフェース、およびJava
のPOJO
(Plain Old Java Objects
、通常のレガシーJava
オブジェクト)をデータベース内のレコードとして構成およびマッピングすることができる.インストールと使用
MyBatis
を使用するには、mybatis-x.x.x.jarファイルをclasspath
に配置するだけです.Maven
を使用してプロジェクトを構築する場合は、次のdependency
コードをpom.xml
ファイルに配置する必要があります.
org.mybatis
mybatis
x.x.x
操作手順
1、プロファイルの作成
jdbc_config.properties
とmybatis-config.xml
のファイルを作成し、データベースとの接続設定操作を完了します.jdbc_config.properties:
username=ceshi
password=123
url=jdbc:mysql://localhost:3306/mybatis
driver=com.mysql.jdbc.Driver
mybatis-config.xml:
2.データテーブルに基づいて、該当するエンティティークラスを作成する
public class User {
private int id;
private String username;
private String password;
private String nickname;
private int type;
private List addresses;
public List getAddresses() {
return addresses;
}
public void setAddresses(List addresses) {
this.addresses = addresses;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
}
3、
mapper.xml
ファイルの作成mapper
ファイルを作成してエンティティークラスのマッピングを完了User.xml:
insert into t_user (username,password,nickname,type)
value(#{username},#{password},#{nickname},#{type})
update t_user set password=#{password},nickname=#{nickname},
type=#{type} where id=#{id}
delete from t_user where id=#{id}
4、作成
SqlSessionFactory
session
対応する操作を実行するSQlSession
が作成され、SqlSession
によってデータベースの操作が完了します.TestMyBatis:
public class TestMyBatis {
@Test
public void testDelete() {
SqlSession session = null;
try {
session = MyBatisUtil.createSession();
session.delete(User.class.getName()+".delete",10);
session.commit();
} catch (Exception e) {
e.printStackTrace();
session.rollback();
} finally {
MyBatisUtil.closeSession(session);
}
}
@Test
public void testAdd() {
SqlSession session = null;
try {
session = MyBatisUtil.createSession();
User u = new User();
u.setNickname(" ");
u.setPassword("10086");
u.setType(0);
u.setUsername("ldh");
session.insert(User.class.getName()+".add", u);
session.commit();
} catch (Exception e) {
e.printStackTrace();
session.rollback();
} finally {
MyBatisUtil.closeSession(session);
}
}
@Test
public void testLoad() {
SqlSession session = null;
try{
session = MyBatisUtil.createSession();
User u = (User)session.selectOne(User.class.getName()+".load", 1);
System.out.println(u.getNickname());
} finally {
MyBatisUtil.closeSession(session);
}
}
@Test
public void testList() {
SqlSession session = null;
try{
session = MyBatisUtil.createSession();
List us = session.selectList(
User.class.getName()+".list", null);
System.out.println(us.size());
} finally {
MyBatisUtil.closeSession(session);
}
}
}
MyBatisUtil:
public class MyBatisUtil {
private static SqlSessionFactory factory;
static {
try {
InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
factory = new SqlSessionFactoryBuilder().build(is);
} catch (IOException e) {
e.printStackTrace();
}
}
public static SqlSession createSession() {
return factory.openSession();
}
public static void closeSession(SqlSession session) {
if(session!=null) session.close();
}
}