MyBatis初步使用(单表操作)

一、首先创建一web项目:我的叫MyBatisDo   先将需要的jar包导入到\WebRoot\WEB-INF\lib下。需要的两个包为:mybatis-3.2.2.jar和mysql-connector-java-5.1.0-bin.jar

二、接下来是mybatis的配置文件设置

首先在项目下新建一个resource文件夹(!!右击文件名,new->source floder),放置配置文件,暂时是两个代替jdbc链接数据库

1、jdbc.properties、mybatis-config.xml

首先jdbc.properties里面有两种链接数据库方法,上面为链接mysql下面链接oracle,都写在里面不会有冲突

在mybatis-config.xml文件里面首先读取上一个文件,接下来链接数据库,使用el表达式来表示properties文件里的内容。

第三步是配置sql映射文件,用映射文件来代替之前的实现类,接口直接指向映射文件。


三、在src下新建包com->pojo,在该包下放置实体类,因为测试,实体类较简单,对应数据库中的一张userInfo表(id,username,password)--->UserInfo.java

四、在com包下创建包utils工具类包,放置MyBatisUtils.java


首先将配置文件以字节流的形式通过SqlSessionFactoryBuilder对象的build方法赋值给工厂对象。调用open方法自动提交事务,调用close关闭结束调用

五、创建dao包,进行编写映射文件及接口


namespace=“*mapper”id=“方法名” parameterType="传进来的参数类型" resultType="返回类型(集合的话也是写泛型类型)",#{填写参数}。

六、创建测试类

public class UserInfoTest {


private SqlSession session = null;
UserInfo user = new UserInfo();


@Before
public void setUp() throws Exception {
session = MyBatisUtils.createSession();
}


@After
public void tearDown() throws Exception {
MyBatisUtils.closeSession(session);
}


@Test
public void addUser() {
user.setId(2);
user.setUsername("张三");
user.setPassword("123456");


int result = session.getMapper(UserInfoMapper.class).addUser(user);
if (result > 0) {
System.out.println("添加成功");
session.getMapper(UserInfoMapper.class);
} else {
System.out.println("添加失败");
}
}


@Test
public void delUser() {
Scanner input = new Scanner(System.in);
System.out.println("请输入要删除的userCode");
Integer id = input.nextInt();
user.setId(id);


int result1 = session.getMapper(UserInfoMapper.class).delUser(user);
if (result1 > 0) {
System.out.println("删除成功");
session.getMapper(UserInfoMapper.class);
} else {
System.out.println("删除失败");
}
}


@Test
public void updateUser() {
Scanner input = new Scanner(System.in);
System.out.println("请输入要修改的id");
Integer id = input.nextInt();
user.setId(id);
System.out.println("请输入要新的userName");
String userName = input.next();
user.setUsername(userName);
System.out.println("请输入要新的password");
String userPassword = input.next();
user.setPassword(userPassword);
int result = session.getMapper(UserInfoMapper.class).updateUser(user);


if (result > 0) {
System.out.println("修改成功");
session.getMapper(UserInfoMapper.class);
} else {
System.out.println("修改失败");
}
}


@Test
public void selectAll() {
List<UserInfo> list;
list = session.getMapper(UserInfoMapper.class).selectUser();
for (UserInfo u : list) {
System.out.println("id:" + u.getId() + "\t" + "Code:"
+ u.getUsername() + "\t" + "name:" + u.getPassword());
}
}
}



猜你喜欢

转载自blog.csdn.net/qq_36178165/article/details/79677398