Hello,大家好我是酷酷的奇锋,最近正在研究SSM(Spring+SpringMvc+Mybatis),所以我要研究一下这些技术,并且同步分享给大家,当然了,在研究这些技术的时候会有很多陷阱,想在网上寻找资源,但是很多资源都太片面了,不能实际解决问题,为此我有点小小的愤怒,想做良心的博客,并且呼吁大家一起来做这样的事情,我会根据程序搭建过程中的一些问题进行总结,并且把所有的资源都放在云盘上面方便大家得到项目的建立成功的喜悦,今天我们来一起搭建一个简单的Mybatis。
MyBatis是一个数据持久层的框架,很简单,容易上手,关于他的历史背景和特性大家直接百度百科就可以得到很准确的消息的,现在让我们来搭建。
第一步,建立一个JavaProject项目,命名随意
第二步,并行你的src目录建立一个lib目录放入jar包,jar包在云盘:http://pan.baidu.com/s/1nvFrh6D
第三部,并行src目录建立一个config目录,里面建立一个包命名为sqlmap,然后包里面建立一个User.xml,在config目录下建立log4j.properties,和sqlMapConfig.xml
第四部:建立数据库,我把数据库的.sql文件分享在云盘里面:http://pan.baidu.com/s/1qXEoNQ8
如图这样:
具体内容如下:User.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" >
<mapper namespace="test" >
<select id="findUserById" parameterType="int" resultType="entity.Student">
select * from user where id=#{id}
</select>
</mapper>
log4j.rootLogger=DEBUG,stdout
# MyBatis logging configuration...
log4j.logger.org.mybatis.example.BlogMapper=TRACE
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
<!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/spring?characterEncoding=UTF-8"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="sqlmap/User.xml"/>
</mappers>
</configuration>
import java.io.IOException;
import java.io.InputStream;
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 org.junit.Test;
public class MybatisFirst {
//根据Id查询用户信息
@Test
public void findUserByIdTest() throws IOException {
String resourcek="SqlMapConfig.xml";
InputStream inputStream=Resources.getResourceAsStream(resourcek);
SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream);
SqlSession sqlSession=sqlSessionFactory.openSession();
sqlSession.selectOne("test.findUserById", 111);
}
}
private int id;
private String name;
private int age;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}