我在eclipse新建java project项目。然后建了两个包:org.mybatis.example和org.mybatis.javabean
第一个包用来放测试类和映射文件。
第二个包用来放数据库相对应的javaBean。
然后,在数据库里建立表:
-- Table "t_user" DDL
CREATE TABLE `t_user` (
`user_name` varchar(20) NOT NULL default '',
`password` varchar(20) default NULL,
PRIMARY KEY (`user_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
必须导入的包:
mybatis-3.1.1.jar
mysql-connector-java-5.1.16-bin.jar(这个看你要连接什么数据库了)
另外,为了在测试的时候,能看到执行的SQL语句,我把log4j的包也导入了:
asm-3.3.1.jar
cglib-2.2.2.jar
commons-logging-1.1.1.jar
log4j-1.2.16.jar
还要加上log4j.properties配置文件:
log4j.properties:
log4j.rootLogger=DEBUG,CONSOLE
log4j.addivity.org.apache=true
# 应用于控制台
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.Threshold=DEBUG
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
#log4j.appender.CONSOLE.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[thread] n%c[CATEGORY]%n%m[MESSAGE]%n%n
放在了src/java/main目录下
新建mybatis-config.xml文件,放在src/java/main目录下,内如:
其中,mapper标签,指向的是一个映射文件。如果你有多个文件,这里可以写多个。
在org.mabatis.example下新建TUserMapper.xml文件,内容如下:
insert into t_user(user_name,password) values(
#{userName},
#{password}
)
update t_user
user_name=#{userName},
password=#{password}
user_name=#{userName}
delete from t_user
user_name=#{userName}
user_name=#{userName}
and password=#{password}
每个sql语句等,我都写了注释,应该都算清楚了吧。单表的CRUD,这些掌握就足够使用了。
在org.mybatis.example下新建测试类Main,内容如下:
package org.mybatis.example;
import java.io.InputStream;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
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.mybatis.javabean.TUser;
public class Main {
public static void main(String[] args) throws Exception {
String resource = "mybatis-config.xml";
InputStream in = Resources.getResourceAsStream(resource);
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
// 插入
HashMap map = new HashMap();
map.put("userName", "lisa");
map.put("password", "100100");
System.out.println("通过map插入结果:" + insert(factory.openSession(), map));
// TUser user = new TUser();
// user.setUserName("lili");
// user.setPassword("abc001");
// System.out.println("通过javabean插入结果:" + insert(factory.openSession(), user));
// 更新
// HashMap map = new HashMap();
// map.put("userName", "lisa");
// map.put("password", "990099");
// System.out.println("通过map更新结果:" + update(factory.openSession(), map));
// TUser user = new TUser();
// user.setUserName("lili");
// user.setPassword("001100");
// System.out.println("通过javabean更新结果:" + update(factory.openSession(), user));
// 删除
// String userName = "lisa";
// System.out.println("删除结果:" + delete(factory.openSession(), null));
// 查询
// System.out.println("查询总数据条数:" + selectCount(factory.openSession()));
// TUser u = new TUser();
// u.setUserName("lisa");
// List list = selectList(factory.openSession(), u);
// for (TUser user : list) {
// System.out.println("name=" + user.getUserName() + ";pwd=" + user.getPassword());
// }
}
/**
*
* DOC 通过map或者javaBean插入.
*
* @param sqlSession
* @param map
* @return
*/
private static boolean insert(SqlSession sqlSession, Object mapOrJavaBean) {
int i = sqlSession.insert("TUser.insert", mapOrJavaBean);
sqlSession.commit();
return i > 0;
}
/**
*
* DOC 通过map或javaBean更新信息.
*
* @param sqlSession
* @param map
* @return
*/
private static boolean update(SqlSession sqlSession, Object mapOrJavaBean) {
int i = sqlSession.update("TUser.update", mapOrJavaBean);
sqlSession.commit();
return i > 0;
}
/**
*
* DOC 删除.
*
* @param sqlSeesion
* @param userName
* @return
*/
private static boolean delete(SqlSession sqlSession, String userName) {
Map map = new HashMap();
map.put("userName", userName);
int i = sqlSession.delete("TUser.delete", map);
sqlSession.commit();
return i > 0;
}
/**
*
* DOC 查询总数据条数.
*
* @param sqlSession
* @return
*/
private static int selectCount(SqlSession sqlSession) {
return sqlSession.selectOne("TUser.selectCount");
}
/**
*
* DOC 按条件查询.
*
* @param sqlSession
* @param mapOrJavaBean
* @return
*/
private static List selectList(SqlSession sqlSession, Object mapOrJavaBean) {
return sqlSession.selectList("TUser.select", mapOrJavaBean);
}
}
最后,放一张项目结构图:
如果你还没工具的话,可以去官网下载。我的前两篇文章里有写到下载地址,可以去看看。
下载好后,解压到某个目录。我解压的是到F盘
将数据库驱动jar包,考入到lib目录下
新建java文件夹
编写配置文件config.xml
命令行下执行:
看到successfully后,则可看到生成的文件