平阳手机网站制作,扬中营销网站建设,如何获取所有网站,网站空间如何申请首先数据库表展示
User表 Role角色表 关联User表与Role表关系的user_role表 因为是要串联关系所以需要设置外键#xff0c;以下是外键展示
工程目录展示 pom.xml依赖配置
dependenciesdependencygroupIdjunit/groupIdartifactId以下是外键展示
工程目录展示 pom.xml依赖配置
dependenciesdependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.10/version/dependencydependencygroupIdorg.mybatis/groupIdartifactIdmybatis/artifactIdversion3.5.4/version/dependencydependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion5.1.6/version/dependencydependencygroupIdlog4j/groupIdartifactIdlog4j/artifactIdversion1.2.12/version/dependency/dependencies顺便附上Maven阿里云仓库
这样比较快 我之前创建一个项目都要10来分钟现在只需要几秒 mirrorsmirror idalimaven/id namealiyun maven/name urlhttp://maven.aliyun.com/nexus/content/groups/public//url mirrorOfcentral/mirrorOf /mirror /mirrorsSqlMapConfig.xml配置
?xml version1.0 encodingUTF-8?
!DOCTYPE configurationPUBLIC -//mybatis.org//DTD Config 3.0//ENhttp://mybatis.org/dtd/mybatis-3-config.dtd
configurationproperties resourcejdbc.properties/properties!--typeAliases 得放在properties下面 不然会报错--typeAliasespackage namecom.domain //typeAliasesenvironments defaultmysqlenvironment idmysqltransactionManager typeJDBC/transactionManagerdataSource typePOOLEDproperty namedriver value${driver}/property nameurl value${url}/property nameusername value${username}/property namepassword value${password}//dataSource/environment/environmentsmapperspackage namecom.DAO//mappers
/configuration实体类
user
package com.domain;import java.io.Serializable;
import java.util.Date;
import java.util.List;public class User implements Serializable {private int id;private String username;private Date birthday;private String sex;private String address;/*多对多关系映射*/private ListRole roles;public ListRole getRoles() {return roles;}public void setRoles(ListRole roles) {this.roles roles;}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;}Overridepublic String toString() {return User{ id id , username username \ , birthday birthday , sex sex \ , address address \ };}
}
Role
package com.domain;import com.sun.xml.internal.bind.v2.model.core.ID;import java.io.Serializable;
import java.util.List;public class Role implements Serializable {private int ID;private String ROLE_NAME;private String ROLE_DESC;/*多对多关系映射*/private ListUser users;public ListUser getUsers() {return users;}public void setUsers(ListUser users) {this.users users;}public int getID() {return ID;}public void setID(int ID) {this.ID ID;}public String getROLE_NAME() {return ROLE_NAME;}public void setROLE_NAME(String ROLE_NAME) {this.ROLE_NAME ROLE_NAME;}public String getROLE_DESC() {return ROLE_DESC;}public void setROLE_DESC(String ROLE_DESC) {this.ROLE_DESC ROLE_DESC;}Overridepublic String toString() {return Role{ ID ID , ROLE_NAME ROLE_NAME \ , ROLE_DESC ROLE_DESC \ };}
}
dao
package com.DAO;import com.domain.User;import java.util.List;public interface IUser {ListUser findAll();}
package com.DAO;import com.domain.Role;import java.util.List;public interface IRole {ListRole findAll();
}
对应的Mapper映射配置文件及测试
IUser.xml
?xml version1.0 encodingUTF-8?
!DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd
mapper namespacecom.DAO.IUserresultMap idUserRole typeUserid propertyid columnid/idresult propertyusername columnusername/resultresult propertyaddress columnaddress/resultresult propertysex columnsex/resultresult propertybirthday columnbirthday/resultcollection propertyroles ofTypeRoleresult propertyID columnID/resultresult propertyROLE_NAME columnROLE_NAME/resultresult propertyROLE_DESC columnROLE_DESC/result/collection/resultMapselect idfindAll resultMapUserRole select u.*,r.* from user u left outer join user_role ur on u.idur.uid left outer join role r on r.idur.rid/select/mapper附上测试类代码
package com.test;import com.DAO.IUser;import com.domain.User;
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.After;
import org.junit.Before;
import org.junit.Test;import java.io.IOException;
import java.io.InputStream;
import java.util.List;public class UserTest {private InputStream innull;private SqlSessionFactory factorynull;private SqlSession sqlSessionnull;private IUser iUsernull;Beforepublic void Init() throws IOException {in Resources.getResourceAsStream(SqlMapConfig.xml);factorynew SqlSessionFactoryBuilder().build(in);sqlSessionfactory.openSession();iUsersqlSession.getMapper(IUser.class);}Afterpublic void Close() throws IOException {sqlSession.commit();//提交事务if(sqlSession!null){sqlSession.close();}if(in!null){in.close();}}Testpublic void TestfindAll(){ListUser useriUser.findAll();for(User user1:user){System.out.println(user1);System.out.println( user1.getRoles());}}
}
查询所有用户的信息及其身份的结果集展示 IRole.xml
?xml version1.0 encodingUTF-8?
!DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd
mapper namespacecom.DAO.IRoleresultMap idRoleUser typeRoleid propertyID columnID/idresult propertyROLE_NAME columnROLE_NAME/resultresult propertyROLE_DESC columnROLE_DESC/resultcollection propertyusers ofTypeUserid propertyid columnid/idresult propertyusername columnusername/resultresult propertypassword columnpassword/resultresult propertyaddress columnaddress/resultresult propertysex columnsex/resultresult propertybirthday columnbirthday/result/collection/resultMapselect idfindAll resultMapRoleUserselect r.*,u.* from Role r left outer join user_role ur on r.idur.rid left outer join User u on u.idur.uid/select
/mapper附上测试类代码
package com.test;import com.DAO.IRole;
import com.DAO.IUser;
import com.domain.Role;
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.After;
import org.junit.Before;
import org.junit.Test;import java.io.IOException;
import java.io.InputStream;
import java.util.List;public class RoleTest {private InputStream innull;private SqlSessionFactory factorynull;private SqlSession sqlSessionnull;private IRole iRolenull;Beforepublic void Init() throws IOException {in Resources.getResourceAsStream(SqlMapConfig.xml);factorynew SqlSessionFactoryBuilder().build(in);sqlSessionfactory.openSession();iRolesqlSession.getMapper(IRole.class);}Afterpublic void Close() throws IOException {sqlSession.commit();//提交事务if(sqlSession!null){sqlSession.close();}if(in!null){in.close();}}Testpublic void TestfindAll(){ListRole rolesiRole.findAll();for(Role role:roles){System.out.println(role);System.out.println(role.getUsers());}}}
查询所有身份信息及对应的用户信息的结果集 其实在这多对多中也映射了一对多的关系 查询这边运用了多表查询中的左外连接 具体可以参考这篇大佬的博客 mysql多表查询