mybatisSample

首先来一个util类,MybatisUtil:
package org.iteye.bbjava.mybatis.util;

import java.io.IOException;
import java.io.Reader;

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

public class MyBatisUtil {

private static SqlSessionFactory sqlSessionFactory = null;

public static SqlSessionFactory buildSessionFacotory(){
Reader reader = null;
if (sqlSessionFactory == null) {
String resource = "org/iteye/bbjava/mybatis/configuration.xml";
try {
reader = Resources.getResourceAsReader(resource);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
return sqlSessionFactory;
}
return sqlSessionFactory;
}

public static SqlSessionFactory getSqlSessionFactory() {
return sqlSessionFactory;
}

}


下面是mybatis的配置文件:
<?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="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/test" />
<property name="username" value="root" />
<property name="password" value="123456" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="org/iteye/bbjava/mybatis/UserMapper.xml" />
</mappers>
</configuration>


UserMapper.java文件:
package org.iteye.bbjava.mybatis;

public class UserMapper {
private int id;
private String name;
private String password;

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}

public int getId() {
return id;
}

public void setId(int id) {
this.id = id;
}


}


UserMapper.java文件对应的mybatis的配置文件:
<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE mapper
PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"
"http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">

<mapper namespace="org.iteye.bbjava.mybatis.UserMapper">
<select id="selectOne" parameterType="int"
resultType="org.iteye.bbjava.mybatis.UserMapper">
select * from user where id = #{id}
</select>
<insert id="insertUserMapper" parameterType="org.iteye.bbjava.mybatis.UserMapper">
insert into user(id,name,password) values(#{id},#{name},#{password})
</insert>
</mapper>

[size=medium]
[color=blue][b]配置说明:[/b][/color][/size]
[quote]

<mapper namespace="org.iteye.bbjava.mybatis.UserMapper">
</mapper>

namespace是可以自已取,据我了解好像并没有太大的作用,只是要用全名来消除歧义。
[/quote]

一个简单的dao类,UserDao.java文件:
package org.iteye.bbjava.mybatis.dao;

import org.apache.ibatis.session.SqlSession;
import org.iteye.bbjava.mybatis.UserMapper;
import org.iteye.bbjava.mybatis.util.MyBatisUtil;

public class UserDao {
public UserMapper query(int id) {
SqlSession session = MyBatisUtil.buildSessionFacotory().openSession();
UserMapper user = null;
try {
user = (UserMapper) session.selectOne(
"org.iteye.bbjava.mybatis.UserMapper.selectOne", id);
} catch (Exception e) {
e.printStackTrace();// TODO: handle exception
} finally {
session.close();
}
return user;
}

public void insert(UserMapper um) {
SqlSession session = MyBatisUtil.buildSessionFacotory().openSession();
try {
session.insert("insertUserMapper", um);
} finally {
session.commit();
session.close();
}

}
}




测试类:
package org.iteye.bbjava.mybatis.test;

import org.iteye.bbjava.mybatis.UserMapper;
import org.iteye.bbjava.mybatis.dao.UserDao;

public class UserTest {
public static void main(String[] args) {
UserDao ud = new UserDao();
/*UserMapper user = ud.query(1);
System.out.println(user.getId());
System.out.println(user.getName());*/
UserMapper um = new UserMapper();
um.setId(3);
um.setName("zbc");
um.setPassword("123456");
ud.insert(um);
um = ud.query(1);
System.out.println(um.getName());
}
}




在MySQL数据中选择test,创建一张user表,代码如下:

use test;
create table user(
id int not null,
name varchar(255),
password varchar(16)
primary key(id);
);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值