当前位置: 首页 > news >正文

用java做的网站有哪些内容/成crm软件

用java做的网站有哪些内容,成crm软件,WordPress限制每天注册,做外贸b2b网站环境:jdk1.8mysql5.7maven3.6.0IDEA什么是mybatis框架?MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis可以通过简单的 XML 或注解来配…

环境:

jdk1.8

mysql5.7

maven3.6.0

IDEA

什么是mybatis框架?

MyBatis 是一款优秀的持久层框架,

它支持自定义 SQL、存储过程以及高级映射。

MyBatis免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。

MyBatis可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了[google code](https://baike.baidu.com/item/google code/2346604),并且改名为MyBatis 。2013年11月迁移到Github。

下面开始搭建

sql文件如下:

/*

SQLyog Ultimate v13.1.1 (64 bit)

MySQL - 5.7.31-log : Database - mybatis

*********************************************************************

*/

CREATE DATABASE /*!32312 IF NOT EXISTS*/`mybatis` /*!40100 DEFAULT CHARACTER SET latin1 */;

USE `mybatis`;

/*Table structure for table `user` */

DROP TABLE IF EXISTS `user`;

CREATE TABLE `user` (

`id` int(20) NOT NULL,

`name` varchar(30) DEFAULT NULL,

`pwd` varchar(30) DEFAULT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

/*Data for the table `user` */

insert into `user`(`id`,`name`,`pwd`) values

(1,'qijian','123'),

(2,'Tom','123'),

(3,'qijian','111');

使用 Maven 来构建项目。pom.xml文件代码如下。注意我搭建该项目是mybatis-study的子项目。

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

mybatis-study

com.qijijan

1.0-SNAPSHOT

4.0.0

mybatis-01

org.mybatis

mybatis

3.5.2

src/main/resources

**/*.properties

**/*.xml

true

src/main/java

**/*.poroperties

**/*.xml

true

XML 配置文件中包含了对 MyBatis 系统的核心设置,包括获取数据库连接实例的数据源(DataSource)以及决定事务作用域和控制方式的事务管理器(TransactionManager)。

/p>

PUBLIC "-//mybatis.org//DTD Config 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-config.dtd">

注意: XML 头部的声明,它用来验证 XML 文档的正确性。environment 元素体中包含了事务管理和连接池的配置。mappers 元素则包含了一组映射器(mapper),这些映射器的 XML 映射文件包含了 SQL 代码和映射定义信息。

每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为核心的。SqlSessionFactory 的实例可以通过 SqlSessionFactoryBuilder 获得。而 SqlSessionFactoryBuilder 则可以从 XML 配置文件或一个预先配置的 Configuration 实例来构建出 SqlSessionFactory 实例。这里使用的是XML 配置文件。

MybatisUtils工具类.

package com.qijian.utils;

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 java.io.IOException;

import java.io.InputStream;

public class MybatisUtils {

private static SqlSessionFactory sqlSessionFactory;

private static String resource = "mybatis-Config.xml";

private static InputStream inputStream;

static {

//使用mybatis的第一步:获取 SqlSessionFactory对象

try {

inputStream = Resources.getResourceAsStream(resource);

sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

} catch (IOException e) {

e.printStackTrace();

}

}

//既然有了 SqlSessionFactory,顾名思义,我们可以从中获得 SqlSession 的实例。

// SqlSession 提供了在数据库执行 SQL 命令所需的所有方法。

public static SqlSession getSqlSession() throws IOException {

return sqlSessionFactory.openSession();

}

}

实体类user如下

package com.qijian.pojo;

public class User {

private int id;

private String name;

private String pwd;

@Override

public String toString() {

return "User{" +

"id=" + id +

", name='" + name + '\'' +

", pwd='" + pwd + '\'' +

'}';

}

public User(int id, String name, String pwd) {

this.id = id;

this.name = name;

this.pwd = pwd;

}

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getPwd() {

return pwd;

}

public void setPwd(String pwd) {

this.pwd = pwd;

}

}

UserMapper类

package com.qijian.dao;

import com.qijian.pojo.User;

import java.util.List;

import java.util.Map;

public interface UserMapper {

//查询所有的用户

//@Select("SELECT * FROM mybatis.user WHERE id = #{id}")

List getUserList();

//通过id查询用户

User getUserById(int id);

//增加用户

int addUser(User user);

//添加用户 使用Map集合

int addUserByMap(Map map);

//修改用户

int updateUser(User user);

//删除用户

void deleteUser(int id);

}

基于 XML 映射语句 在命名空间 “com.qijian.dao.UserMapper” 中定义如下 的映射语句(例如名为 “getUserList”),这样你就可以用全限定名 “com.qijian.dao.UserMapper.getUserList” 来调用映射语句了

/p>

PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

select * from mybatis.user

select *from mybatis.user where id = #{id};

insert into mybatis.user(id,name,pwd) values(#{id},#{name},#{pwd});

insert into mybatis.user(id,name,pwd) values(#{id},#{name},#{pwd});

update mybatis.user

set name = #{name},pwd = #{pwd}

where id=#{id};

delete from mybatis.user where id=#{id};

注意:

对命名空间的一点补充

在之前版本的 MyBatis 中,命名空间(Namespaces)的作用并不大,是可选的。 但现在,随着命名空间越发重要,你必须指定命名空间。

命名空间的作用有两个,一个是利用更长的全限定名来将不同的语句隔离开来,同时也实现了你上面见到的接口绑定。就算你觉得暂时用不到接口绑定,你也应该遵循这里的规定,以防哪天你改变了主意。 长远来看,只要将命名空间置于合适的 Java 包命名空间之中,你的代码会变得更加整洁,也有利于你更方便地使用 MyBatis。

命名解析:为了减少输入量,MyBatis 对所有具有名称的配置元素(包括语句,结果映射,缓存等)使用了如下的命名解析规则。

全限定名(比如 “com.mypackage.MyMapper.selectAllThings)将被直接用于查找及使用。

短名称(比如 “selectAllThings”)如果全局唯一也可以作为一个单独的引用。 如果不唯一,有两个或两个以上的相同名称(比如 “com.foo.selectAllThings” 和 “com.bar.selectAllThings”),那么使用时就会产生“短名称不唯一”的错误,这种情况下就必须使用全限定名。

8. 测试类

package com.qijian.dao;

import com.qijian.pojo.User;

import com.qijian.utils.MybatisUtils;

import org.apache.ibatis.session.SqlSession;

import org.junit.Test;

import java.io.IOException;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

public class UserMapperTest {

@Test

public void testSelect() throws IOException {

//第一步:获取sqlsesion对象

SqlSession sqlSession = MybatisUtils.getSqlSession();

//执行

UserMapper userMapper = sqlSession.getMapper(UserMapper.class);

List userList = userMapper.getUserList();

for(User user : userList){

System.out.println(user);

}

//关闭资源

sqlSession.close();

}

@Test

public void testSelectById() throws IOException {

//获取sqlSession对象

SqlSession sqlSession = MybatisUtils.getSqlSession();

//执行

UserMapper userMapper = sqlSession.getMapper(UserMapper.class);

User user = userMapper.getUserById(1);

System.out.println(user);

sqlSession.close();

}

// 注意增删改差需要提交事务

@Test

public void testAddUser() throws IOException {

SqlSession sqlSession = MybatisUtils.getSqlSession();

UserMapper userMapper = sqlSession.getMapper(UserMapper.class);

int res = userMapper.addUser(new User(7,"herry","123"));

if (res>0){

System.out.println("插入成功!");

}

//提交事务

sqlSession.commit();

sqlSession.close();

}

@Test

public void testUpdateUser() throws IOException {

SqlSession sqlSession = MybatisUtils.getSqlSession();

sqlSession.getMapper(UserMapper.class).updateUser(new User(3,"qijian","111"));

sqlSession.commit();

sqlSession.close();

}

@Test

public void testDeleteUser() throws IOException {

SqlSession sqlSession = MybatisUtils.getSqlSession();

UserMapper userMapper = sqlSession.getMapper(UserMapper.class);

userMapper.deleteUser(7);

sqlSession.commit();

sqlSession.close();

}

@Test

public void testAddByMap() throws IOException {

SqlSession sqlSession = MybatisUtils.getSqlSession();

UserMapper userMapper = sqlSession.getMapper(UserMapper.class);

//空过Map可以很方便的插入数据

// 假设,我们的实体类,或者数据库中的表,字段或者参数过多,我们应当使用Map

Map map = new HashMap();

map.put("id",8);

map.put("name","wangwu");

map.put("pwd","1234");

userMapper.addUserByMap(map);

sqlSession.commit();

sqlSession.close();

}

// Map中传递参数,直接在SQL中取出key

// 对象传递参数,直接在SQL中取对象的属性

// 只有一个基本类型参数的情况下,可以直接在SQL中取到

// 多参数用Map

}

在该项目的搭建中遇到的问题如下:

http://www.jmfq.cn/news/4940209.html

相关文章:

  • 珠宝类网站建设可执行报告/商丘网站seo
  • 建什么网站 做 cpa/什么是seo站内优化
  • 做网站外链需要多少钱/济南seo外贸网站建设
  • 怎么做企业网站/seo诊断书案例
  • 东莞百度网站快速优化/网站收录网
  • 中国网站建设银行-个人客户/今日腾讯新闻最新消息
  • 做网站的技术体系/关键词优化报价怎么样
  • 查看WordPress网站插件/什么是seo是什么意思
  • 电子商务网站建设与管理思考与练习/小程序开发工具
  • 新会网站建设/seo搜索引擎优化工资薪酬
  • 南宁企业网站制作哪家好/网站排名优化+o+m
  • 怎样建设网站优化/怎么建立网站?
  • 吉安高端网站建设公司/郑州谷歌优化外包
  • 企业设计网站公司哪家好/小红书网络营销策划方案
  • 做淘宝客要建网站吗/免费发帖的网站
  • asp双语企业网站源码/广州seo外包
  • 电商网站图片处理/如何做好推广
  • 做图网站有哪些东西吗/怎么制作一个网站首页
  • 怀化政法网站/专业的google推广公司
  • 肥城做网站tahmwlkj/推广平台排名
  • 做视频网站软件有哪些/百度关键词排名原理
  • 企业网站搭建程序/城关网站seo
  • 教务管理系统学生登录入口/武汉网站seo公司
  • 内江市住房和城乡建设局网站/快速优化排名公司推荐
  • 网站建设制作 武汉/友情链接是什么意思
  • 怎么自己建立一个网站后台/深圳今天重大事件新闻
  • 广州微信网站开发公司/网站关键词排名服务
  • 简述网站设计要遵循哪些原则/太原网站推广排名
  • 网站搬家教程/小程序开发公司哪里强
  • 自己怎么做免费网站空间/合肥网