//mybatis官网
导入lib下的依赖包,和核心包
加入数据库驱动包
创建配置sqlMapConfig.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>
<!-- 环境标签和spring整合后environments配置将废除 -->
<environments default="development">
<environment id="development">
<!-- 使用jdbc事物管理 -->
<transactionManager type="JDBC"/>
<!-- 数据库连接池 -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
</configuration>
可配置log4j.properties 不知道哪里出错了,这个配置有问题
# Global logging configuration
log4j.rootLogger=DEBUG,stdout
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PattenrnLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
创建写sql的文件夹以及文件
<?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">
<!-- namespacez:命名空间,用于隔离sql -->
<mapper>
</mapper>
映射到主配置文件里
测试
<select id="findUserById" parameterType="Integer" resultType="com.mask.mybatis.entity.User">
select * from user where id = #{v};
</select>
<select id="findUserByName" parameterType="String" resultType="com.mask.mybatis.entity.User">
select * from user where username like "%"#{v}"%";
</select>
-------------学意正浓,也不知道是包错了,也不知道是集成的Eclipse的问题,出的错简直就是恶心,改了参数运行,还是显示最早那次填写的参数,而且重新运行也不好使,项目文件夹上还报错感叹号。。。这不是逼着我休息吗这不是~-----------------
------------重新下载了Eclipse ,现在没问题了,很显然确实是软件出了问题。-------------------
@Test
public void testFindUserByUserName() throws Exception {
//加载核心配置文件
String resource = "sqlMapConfig.xml";
InputStream in = Resources.getResourceAsStream(resource);
//创建SqlSessionFactory
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);
SqlSession sqlSession = sqlSessionFactory.openSession();
//执行sql语句
List<User> users = sqlSession.selectList("test.findUserByName", "五");
for(User user : users){
System.out.println(user);
}
}
插入数据
记住最后。。。commit
//加载核心配置文件
String resource = "sqlMapConfig.xml";
InputStream in = Resources.getResourceAsStream(resource);
//创建SqlSessionFactory
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);
SqlSession sqlSession = sqlSessionFactory.openSession();
//执行sql语句
User user = new User();
user.setUsername("马云杰");
user.setBirthday(new Date());
user.setSex("男");
user.setAddress("asdfs");
int i = sqlSession.insert("test.insertUser", user);
sqlSession.commit();
<insert id="insertUser" parameterType="com.mask.mybatis.entity.User">
insert into user (username,birthday,address,sex) value (#{username},#{birthday},#{address},#{sex});
</insert>
保存时直接获取最新id
<selectKey>
select LAST_INSERT_ID()
</selectKey>
改
//加载核心配置文件
String resource = "sqlMapConfig.xml";
InputStream in = Resources.getResourceAsStream(resource);
//创建SqlSessionFactory
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);
SqlSession sqlSession = sqlSessionFactory.openSession();
//执行sql语句
User user = new User();
user.setId(28);
user.setUsername("luconghui");
user.setBirthday(new Date());
user.setSex("女");
user.setAddress("wan");
int i = sqlSession.update("test.updateUserById", user);
System.out.println(i);
sqlSession.commit();
<update id="updateUserById" parameterType="com.mask.mybatis.entity.User">
update user set username = #{username},sex = #{sex},birthday = #{birthday},address = #{address}
where id = #{id}
</update>
删
//加载核心配置文件
String resource = "sqlMapConfig.xml";
InputStream in = Resources.getResourceAsStream(resource);
//创建SqlSessionFactory
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);
SqlSession sqlSession = sqlSessionFactory.openSession();
//执行sql语句
int i = sqlSession.delete("test.delUserById", 25);
System.out.println(i);
sqlSession.commit();
<delete id="delUserById" parameterType="Integer">
delete from user
where id = #{id}
</delete>