Mybatis入门程序

1、创建数据库

  创建如下的的一个数据库表

2、需求

实现以下功能:

  1. 根据用户id查询一个用户信息
  2. 根据用户名称模糊查询用户信息列表
  3. 添加用户
  4. 更新用户
  5. 删除用户

3、创建java工程

4、 导入需要的jar包

5、在classpath下面创建log4j.properties文件

  Mybatis使用log4j作为日志输出,因此要创建log4j.properties配置文件。
文件内容如下:

log4j.rootLogger=DEBUG, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

6、在classpath下创建SqlMapConfig.xml文件
















7、创建PO类

public class User {
private int id;
private String username;
private Date birthday;
private String sex;
private String address;

public int getId() {
return id;
}

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

public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}

public Date getBirthday() {
return birthday;
}

public void setBirthday(Date birthday) {
this.birthday = birthday;
}

public String getSex() {
return sex;
}

public void setSex(String sex) {
this.sex = sex;
}

public String getAddress() {
return address;
}

public void setAddress(String address) {
this.address = address;
}

@Override
public String toString() {
return "User{" +
"id=" + id +
", username='" + username + ''' +
", birthday=" + birthday +
", sex='" + sex + ''' +
", address='" + address + ''' +
'}';
}
}

8、创建映射文件,user.xml









SELECT LAST_INSERT_ID()


INSERT INTO user(username,birthday,sex,address) VALUE (#{username},#{birthday},#{sex},#{address})


UPDATE user set birthday=#{birthday},sex=#{sex},address=#{address} WHERE id=#{id}


DELETE FROM user WHERE id=#{value}

9、在SqlMapConfig.xml中引入上面的配置文件





10、创建测试类

public class UserTest {

private SqlSessionFactory sessionFactory;
@Before
public void setUp() throws Exception{
//SqlMapConfig.xml相对于classpath的地址
String resource = "config/SqlMapConfig.xml";
//使用inputString读入该配置文件
InputStream in = Resources.getResourceAsStream(resource);
//创建SqlSessionFactory对象
sessionFactory = new SqlSessionFactoryBuilder().build(in);
}

@Test
public void findUserById(){
//创建SqlSession对象
SqlSession sqlSession = sessionFactory.openSession();
try {
/**
* 执行SqlSession对象的方法
* 第一个参数为:映射文件中的namespace+.+statement id
* 第二个参数为:要传入的参数值
*/
User user = sqlSession.selectOne("test.findUserById",1);
System.out.println(user);
} catch (Exception e) {
e.printStackTrace();
}finally {

}
}

@Test
public void findUserByName(){
SqlSession sqlSession = sessionFactory.openSession();
try {
List list = sqlSession.selectList("test.findUserByName","小明");
for (User user:list) {
System.out.println(user);
}

} catch (Exception e) {
e.printStackTrace();
}finally {

}
}

@Test
public void insertUserInfo(){
SqlSession sqlSession = sessionFactory.openSession();
try {
User user = new User();
user.setId(26);
user.setBirthday(new Date());
user.setSex("1");
user.setAddress("甘肃天水");
sqlSession.update("test.insertUserInfo",user);

} catch (Exception e) {
e.printStackTrace();
}finally {

}
}

public void updateUserInfo(){
SqlSession sqlSession = sessionFactory.openSession();
try {
User user = new User();
user.setUsername("东方不败");
user.setBirthday(new Date());
user.setSex("0");
user.setAddress("黑木崖");
int id =sqlSession.insert("test.updateUserInfo",user);
System.out.println(id);
} catch (Exception e) {
e.printStackTrace();
}finally {

}
}

@Test
public void deleteUserInfo(){
SqlSession sqlSession = sessionFactory.openSession();
try {

sqlSession.delete("test.deleteUserInfo",28);

} catch (Exception e) {
e.printStackTrace();
}finally {

}
}
}

posted @ 2017-07-26 10:53  一条路上的咸鱼  阅读(223)  评论(0)    收藏  举报