所需要jar包:mybatis-3.x.x.jar 、如果要和其它框架整合,需要其它的jar包
mybatis的j资料及jar下载地址:http://download.youkuaiyun.com/detail/itjavawfc/7685119
1.看看项目目录:
2.按照步骤:
1)加jar包
2)创建数据源(configuration.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>
<typeAliases>
<!--给实体类起一个别名 user -->
<typeAlias type="com.forum.po.User" alias="User" />
</typeAliases>
<!--数据源配置 这块用 BD2数据库 -->
<environments default="development">
<environment id="development">
<transactionManager type="jdbc" />
<dataSource type="POOLED">
<property name="driver" value="oracle.jdbc.driver.OracleDriver" />
<property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:orcl
" />
<property name="username" value="scott" /> <!-- DB2ADMIN -->
<property name="password" value="tiger" /> <!-- admin -->
</dataSource>
</environment>
</environments>
<mappers>
<!--userMapper.xml装载进来 同等于把“dao”的实现装载进来 -->
<mapper resource="myBatis/userMapper.xml" />
</mappers>
</configuration> 3)创建实体USER
package com.forum.po;
import org.apache.ibatis.ognl.IntHashMap.Entry;
/**
* 用户类
*
* @author 方晨
*
*/
public class User extends Entry {
private String name;
private Integer age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public User() {
}
} 4)创建DAO接口,可以说是Map片儿接口,UserMapper接口
package com.forum.dao;
import com.forum.po.User;
public interface UserMapper {
public User findById(String Id);
} 5)创建DAO实现,不同于Hibernate,此处的DAO实现都是通过一个xml文件实现.也就是UserMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC
"-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--这块等于dao接口的实现 namespace必须和接口的类路径一样-->
<mapper namespace="com.forum.dao.UserMapper">
<!-- findById必须和接口中的方法名一样 返回一个User 就是刚才的别名 如果不弄别名要连类路径一起写 麻烦-->
<select id="findById" parameterType="HashMap" resultType="User">
<!-- select * from butone.student where id=#{id} -->
select * from TT where id=#{id}
</select>
</mapper> 6)测试类:MyBatisTest.java
package com.forum.test;
import java.io.IOException;
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.forum.dao.UserMapper;
import com.forum.po.User;
/**
* myBatis数据库连接测试
*/
public class MyBatisTest {
/**
* 获得MyBatis SqlSessionFactory
* SqlSessionFactory负责创建SqlSession,一旦创建成功,就可以用SqlSession实例来执行映射语句,commit,rollback,close等方法。
* @return
*/
private static SqlSessionFactory getSessionFactory() {
SqlSessionFactory sessionFactory = null;
String resource = "configuration.xml";
try {
sessionFactory = new SqlSessionFactoryBuilder().build(Resources
.getResourceAsReader(resource));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return sessionFactory;
}
public static void main(String[] args) {
SqlSession sqlSession = getSessionFactory().openSession();
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
User user = userMapper.findById("1");
System.out.println(user.getName());
System.out.println(user.getAge());
}
} 得到结果:
此处自己用的是Oracle,在此之前应该在数据库中创建任意表,当然必须含有id,name,age参数,要和User对应。
我的建表语句:
CREATE TABLE TT(
ID INTEGER,
NAME VARCHAR2(20),
age VARCHAR2(20)
);
INSERT INTO TT VALUES(1,'汪方晨','18');
SELECT * FROM TT;
905

被折叠的 条评论
为什么被折叠?



