多平台统一管理软件接口,如何实现多平台统一管理软件接口
194
2023-07-15
Java的MyBatis框架项目搭建与hellow world示例
新建项目(我使用的是maven项目)mybatis-study-01
一、加入mybatis与mysql-connector依赖包到pom文件
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <url>http://maven.apache.org
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<url>http://maven.apache.org
二、创建数据库mybatis-test
新建一张user表用于测试。建表sql如下:
CREATE TABLE `user` (
`id` int(11) NOT NULL auto_increment,
`password` varchar(255) default NULL,
`user_name` varchar(50) default NULL,
`user_age` int(11) default NULL,
`user_address` varchar(200) default NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `userName` (`user_name`)
) EN
插入一条数据
INSERT INTO `user` VALUES ('1', '123131', 'summer', '100', 'shanghai,pudong');
三、在项目中编写pojo对象。
package com.zf.mybatis.pojo;
public class User {
private int id;
private String password ;
private String userName;
private String userAge;
private String userAddress;
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 String getUserAge() {
return userAge;
}
public void setUserAge(String userAge) {
this.userAge = userAge;
}
public String getUserAddress() {
return userAddress;
}
public void setUserAddress(String userAddress) {
this.userAddress = userAddress;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
四、编写pojo对应的映射文件User.xml
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
id , password , user_name as userName , user_age as userAge , user_address as userAddress
select
from `user` where id = #{id}
insert into `user`
(password , user_name , user_age , user_address)
values(#{password} , #{userName} , #{userAge} , #{userAddress} )
update `user`
set password = #{password} , user_name = #{userName}, user_age = #{userAge}, user_address = #{userAddress}
where id = #{id}
delete from `user` where id = #{id}
注意:上面的namespace的值为com.zf.mybatis.pojo.UserMapper,可以自定义 ,UserMapper不是一个类,不需要存在的。
另外,mybatis会将从数据库查询出来的记录根据列名与pojo中的字段进行匹配, 所以上面的user_name,user_age ,user_address这几个字段都取了别名,跟pojo中的字段相对应。 如果不起别名, 查询出来的对象,这几个字段是没有值的。
五、编写mybatis的配置文件mybatis-config.xml
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
在该配置文件中配置了数据库的链接方式,以及注册所有的映射文件,还可以设置mybatis的一些参数。
现在就可以编写测试类了。来测试一下。
package com.zf.mybatis;
import java.io.IOException;
import java.io.Reader;
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.Before;
import org.junit.Test;
import com.zf.mybatis.pojo.User;
public class TestMyBatis {
private SqlSessionFactory sqlSessionFactory;
private Reader reader;
@Before
public void init(){
try {
reader = Resources.getResourceAsReader("mybatis-config.xml");
sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
} catch (IOException e) {
e.printStackTrace();
}
}
@Test
public void testQueryUser(){
SqlSession session = sqlSessionFactory.openSession();
try {
User user = (User) session.selectOne("com.zf.mybatis.pojo.UserMapper.selectByID" ,1);
System.out.println(user.getUserAddress());
System.out.println(user.getUserName());
} finally {
session.close();
}
}
@Test
public void testInsertUser(){
SqlSession session = sqlSessionFactory.openSession();
try {
User user = new User() ;
user.setUserName("abcde");
user.setUserAge(15) ;
user.setUserAddress("hangzhou/zhejiang");
user.setPassword("123456");
//返回值是记录条数
int resultCount = session.insert("com.zf.mybatis.pojo.UserMapper.add", user );
session.commit() ;
System.out.printf("userID:%d,总记录条数:%d" , user.getId() , resultCount); //获取插入对象的id
} finally {
session.close();
}
}
@Test
public void testUpdateUser(){
SqlSession session = sqlSessionFactory.openSession();
try {
User user = new User() ;
user.setId(5) ;
user.setUserName("updateName");
user.setUserAge(101) ;
user.setUserAddress("shenzhen/guangdong");
user.setPassword("000000");
//返回值是修改条数
int updateCount = session.update("com.zf.mybatis.pojo.UserMapper.update", user );
session.commit() ;
System.out.printf("修改条数:%d" ,updateCount);
} finally {
session.close();
}
}
@Test
public void testDelete(){
SqlSession session = sqlSessionFactory.openSession();
try {
//返回值是删除条数
int deleteCount = session.update("com.zf.mybatis.pojo.UserMapper.deleteById", 4 );
session.commit() ;
System.out.printf("删除条数:%d" ,deleteCount );
} finally {
session.close();
}
}
}
运行testQueryUser结果如下:
shanghai,pudong
summer
到此,一个mybatis的helloworld类型的小程序就出来了。
PS:MyBaits配置文件报错解决
Mybaits的配置文件校验很诡异,节点的位置还有要求
如下,会报错:
The content of element type "configuration" must match "(properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?,plugins?,environments?,mappers?)".
"http://mybatis.org/dtd/mybatis-3-config.dtd">
把typeAliases放到最上面就好了说:
"http://mybatis.org/dtd/mybatis-3-config.dtd">
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~